Processamento de Imagens Visão Computacional Compressão

Slides:



Advertisements
Apresentações semelhantes
Observação de Padrões Retóricos na obra de André da Silva Gomes
Advertisements

A Cura Verdadeira Edição: Alaide Chaded
Emmanuel ´Voz Chico Xavier
A pessoa mais importante em nossas vidas...
Definição de vetor; Representação geométrica de vetores; Operações com vetores; Vetores da base canônica. Aula 2.
Regulação Sunshine Aplicada às Prestadoras Locais Do Sudeste
Cálculo Vectorial e Geometria Analítica
IA889 – Sistemas de Cognição Artificial
Teoria de Bandas – 2 Elétrons Quase Livres
ESTRUTURAS DE MADEIRA ENGENHARIA CIVIL Prof. Talles Mello
MBA EM GESTÃO ESTRATÉGICA DE PESSOAS
Análise de Comunidades em Redes Sociais utilizando Mineração de dados: Um estudo de caso nas redes da UFPA SCRM 2016 Ingrid Nascimento Márcia Pinheiro.
Elementos de máquinas II
Funções trigonométricas
COMO SE PREPARAR PARA O ENEM?
Técnologia dos Materiais
Processos Hidrológicos CST 318 / SER 456 Tema 4 – Física do Solo ANO 2016 Laura De Simone Borma Camilo Daleles Rennó
Análise económica e financeira das entidades privadas Bloco I
A evolução do conceito de movimento e suas causas.
Reabilitação Estrutural de Edifícios
Usinagem Química e Eletroquímica
2.3. Composição quantitativa de soluções
Destilação Binária Método de McCabe - Thiele
CAMPOS ELÉTRICOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA GRADUAÇÃO EM engenharia mecânica CAMPUS.
Frederico Rocha Um olhar sobre os esforços tecnológicos dos fornecedores do setor de petróleo e gás Frederico Rocha
Processamento de Imagens Visão Computacional Compressão
Metalografia e Magnetismo
Probabilidade e Estatística Aplicadas à Contabilidade I
Organização Celular dos Seres Vivos
47º CONGRESSO NACIONAL DE SANEAMENTO DA ASSEMAE
Professor Rodrigo Menezes
Capítulo 23 TERMODINÂMICA
Quando o Superfaturamento é legal ...
1 Construção de uma pilha. APL 1 - Construção de uma pilha com determinada diferença de potencial elétrico.
Mercado de capitais AULA 1
Aluna: Flávia Brandão Ramalho de Brito Orientador: Luiz Bueno da Silva
Crescimento, desenvolvimento econômico E saúde
Processos Hidrológicos CST 318 / SER 456 Tema 8 -Métodos estatísticos aplicados à hidrologia ANO 2017 Camilo Daleles Rennó Laura De Simone Borma
Multimídia – Técnicas de Compactação e Compressão
O Debate sobre a Estagnação Secular
Principles of Maritime Trade
O que é um sistema elétrico?
Projetos de Redes de Computadores
Ramo da eletricidade que estuda as cargas em movimento.
Professor Rodrigo Menezes
Aula 4 – Corrente Elétrica e Circuitos Elétricos
Resistência elétrica FÍSICA
Professor Renato Madeira
MICROPROCESSADORES E MICROCONTROLADORES
Turbulência II Médias de Reynolds.
Técnicas Aplicadas ao Seis Sigma
Prof. Ionildo José Sanches
Métricas de Desenvolvimento e Custo de Software
INQUÉRITO À EMPREGABILIDADE DOS DIPLOMADOS DA ULISBOA EM 2013/14
AULA 4 – LENTES ESFÉRICAS
Prof. Dr. Sidney Seckler Ferreira Filho Prof. Dr. José Carlos Mierzwa
Nome: Barbara Hass Disciplina Análise Espacial
Contratos Futuro de Taxa de Câmbio
Sejam todos bem-vindos!
Avaliação de Impacto Experimental: Teoria e Prática
ANÁLISE MODAL DE RESERVATÓRIO ELEVADO
ETE BOSQUE DAS PALMEIRAS
Disciplina: Economia Internacional
Metalurgia Extrativa Manganês Caio Cipriano Guilherme Torrens Wünsch
FM 05 Vetores.
Análise dimensional e Unidades de Engenharia

INSTALAÇÕES HIDRÁULICAS E SANITÁRIAS
JOGO ELETRÔNICO BASEADO EM RPG DE MESA, COM USO DO MOTOR DE JOGO UNITY PARA A PLATAFORMA DE MULTIPROJEÇÃO MINICAVE Aluno: Alexandre Salvador Fernandes.
Tributação e meio ambiente – aula 4 Cátedra Escolhas: Economia e Meio Ambiente Bernard Appy Março/abril de 2017.
Transcrição da apresentação:

Processamento de Imagens Visão Computacional Compressão Imagens Digitais Processamento de Imagens Visão Computacional Compressão

Modelos de uma Imagem Digital Físico Matemático Computacional

Matematicamente imagem é uma função Imagem em tons de cinza 0% 20% 40% 60% 80% 100% Níveis de cinza Posição ao longo da linha x u v L L(u,v) Função

Imagem colorida como uma função do R2 R3 v G R B

Imagem coloridas como 3 “canais” de cor B B(u,v) R(u,v) G(u,v) v v v u u u = + +

Processos que ocorrem na captura de uma imagem Amostragem, quantização e codificação

Aquisição de imagem numa camera fotográfica No plano de imagem a câmera tem um banco de sensores. Filtros controlam a cor que cada sensor amostra. Um padrão comum é o de Bayer, que privilegia o verde. Aquisição de imagem numa camera fotográfica A imagem comprimida e armazenada num formato mais eficiente (jpg ou png). Os mapas incompletos são reconstituídos e reamostrados (formato RAW). A imagem mixta é decomposta em tres canais incompletos.

Digitalização de Imagens Discretização espacial (amostragem)

quantizada e codificada Processos básicos 64x54 - floats Imagem amostrada amostragem Imagem de tons contínuos 64x54 - 256 tons Imagem amostrada e quantizada quantização 55 20 22 23 45 10 09 11 43 42 70 28 76 codificação 8*55, 1*20, 1*22, 1*23, …. Imagem amostrada, quantizada e codificada

Quantização Exposição (quantidade de luz) Níveis

Seis fotos da mesma cena com variação do tempo de abertura da câmera

Imagem resultante de um algoritmo de HDRI

Razões de lados e resolução típicas 16:10 1920×1200 ou 1280×800 16:9 1920×1080 (HDTV) ou 1600×900 ou 4:3 1024×768 ou 800×600 ou 640×480

Amostragem e reconstrução 1D

Áudio (Sinal 1D)

Amostragem 𝑓(𝑥) 𝑥 𝑓(𝑥) 𝑥

𝑓(𝑥) 𝑥 𝑓 𝑥 = 𝑖 𝑓 𝑖 ℎ 𝑖 (𝑥) ℎ(𝑥) ℎ 𝑖 (𝑥) 𝑥 i-2 i-1 i i+1 i+2

ℎ 𝑘 (𝑥)𝑓 𝑥 𝑑𝑥= ℎ 𝑘 (𝑥) 𝑖 𝑓 𝑖 ℎ 𝑖 (𝑥) 𝑑𝑥= 𝑖 𝑓 𝑖 ℎ 𝑘 (𝑥) ℎ 𝑖 (𝑥)𝑑𝑥 𝑓 𝑥 = 𝑖 𝑓 𝑖 ℎ 𝑖 (𝑥) ℎ 𝑘 (𝑥)𝑓 𝑥 𝑑𝑥= ℎ 𝑘 (𝑥) 𝑖 𝑓 𝑖 ℎ 𝑖 (𝑥) 𝑑𝑥= 𝑖 𝑓 𝑖 ℎ 𝑘 (𝑥) ℎ 𝑖 (𝑥)𝑑𝑥 i-2 i-1 i i+1 i+2 ℎ(𝑥) 𝑥 ℎ 𝑖 (𝑥) ℎ 𝑘 𝑥 ℎ 𝑖 𝑥 𝑑𝑥= &0, 𝑠𝑒 𝑖≠𝑗 &𝑖, 𝑠𝑒 𝑖=𝑗 𝑓 𝑘 = 𝑓 𝑥 ℎ 𝑘 (𝑥) 𝑑𝑥 = 𝑘 𝑘+1 𝑓 𝑥 𝑑𝑥

ℎ(𝑥) 𝑥 ℎ(𝑥) 𝑥 ℎ(𝑥) 𝑥 i-2 i-1 i i+1 i+2 i-3 i-2 i-1 i i+1 i+2 i+3 i-4

Amostragem, quantização e codificação de f(x)

Amostragem, quantização e codificação de f(x) partição do eixo x

Amostragem, quantização e codificação de f(x) 1 2 3 4 5 6 x f(x) amostra quantizada  partição do eixo y 𝑓 𝑖 =(3,4,5,5,4,2,2,3,5,5,4,2)

Amostragem, quantização e codificação de f(x) 1 2 3 4 5 6 x f(x) função reconstruída  𝑓 (𝑥)

Amostragem mínima f(x)

Fourier 𝑓 𝑥 = 𝑎 0 + 𝑘=1 ∞ ( 𝑎 𝑘 cos 2𝜋𝑘𝑥 𝑛 + 𝑏 𝑘 sin 2𝜋𝑘𝑥 𝑛 ) onde: Jean Baptiste Joseph Fourier (1768-1830) Paper de 1807 para o Institut de France 𝑓 𝑥 = 𝑎 0 + 𝑘=1 ∞ ( 𝑎 𝑘 cos 2𝜋𝑘𝑥 𝑛 + 𝑏 𝑘 sin 2𝜋𝑘𝑥 𝑛 ) onde: 𝑎 0 = 1 𝑛 𝑓(𝑥)𝑑𝑥 𝑎 𝑘 = 1 𝑛 𝑓(𝑥)𝑐𝑜𝑠 2𝜋𝑘𝑥 𝑛 𝑑𝑥 𝑏 𝑘 = 1 𝑛 𝑓(𝑥)𝑠𝑖𝑛 2𝜋𝑘𝑥 𝑛 𝑑𝑥

Funções seno e cosseno

Domínios de amostragem de um sinal f(x) tempo ou espaço x n ak ∆𝜔= 2𝜋 𝑛 w bk freqüencia w

Transformada de Fourier 1 2 3 4 5 6 N-1

onde: onde:

Base de Haar ℎ 0 (𝑥) +1 𝑥 ℎ 1 (𝑥) +1 𝑥 −1

ℎ 2 (𝑥) + 2 𝑥 − 2 ℎ 3 (𝑥) + 2 𝑥 − 2

ℎ 4 (𝑥) +2 𝑥 −2 ℎ 5 (𝑥) +2 𝑥 −2

ℎ 6 (𝑥) +2 𝑥 −2 ℎ 7 (𝑥) +2 𝑥 −2

Transformada Haar 𝑓 1 𝑓 2 𝑓 3 𝑓 4 ……………………….. 𝑓 2 𝑛 −1 𝑓 2 𝑛 ……. ……. 𝑓 2 𝑛 −1 𝑓 2 𝑛 ……. ……. 𝑓 1 + 𝑓 2 2 𝑓 3 + 𝑓 4 2 𝑓 2 𝑛 −1 + 𝑓 2 𝑛 2 𝑓 1 − 𝑓 2 2 𝑓 3 − 𝑓 4 2 𝑓 2 𝑛 −1 − 𝑓 2 𝑛 2 Coeficientes de aproximação Coeficientes de detalhes

Exemplo de transformada Haar 10 4 6 12 8 4 2 6 7 9 6 4 3 -3 2 -2 8 5 -1 1 3 -3 2 -2 6,5 1,5 -1 1 3 -3 2 -2 três iterações de Haar sobre um vetor

Inversa Transformada de Haar Coeficientes de aproximação Coeficientes de detalhes 𝐴 1 𝐴 2 𝐴 2 𝑛 −1 𝐷 1 𝐷 2 𝐷 2 𝑛 −1 ……. ……. … 𝐴 1 + 𝐷 1 𝐴 1 − 𝐷 1 𝐴 2 + 𝐷 2 𝐴 2 − 𝐷 2 𝐴 2 𝑛 −1 + 𝐷 2 𝑛 −1 𝐴 2 𝑛 −1 − 𝐷 2 𝑛 −1

Uma iteração da transformada de Haar sobre uma matriz Transformada Haar Aplicando a transformada de Haar na horizontal Aplicando a transformada de Haar na vertical Matriz resultante Uma iteração da transformada de Haar sobre uma matriz

Duas iterações da Transformada de Haar

Processamento inicial: redução de ruídos Ruídos gaussianos e impulsivo (sal e pimenta)

Imagem Digital 25/11/2017 Redução de ruídos Dada uma imagem I com um ruído n, reduza n o máximo que puder (preferencialmente elimine n completamente) sem alterar significativamente I. 20 dB significam Marcelo Gattass

Dois tipos básicos de ruídos Imagem Digital 25/11/2017 Dois tipos básicos de ruídos Ruído impulsivo: causado por erro de transmissão, CCDs defeituosos, etc... Também chamado de pico e de sal e pimenta. são v.a. uniformemente distribuídas imin, imax, e l são parâmetos de controle da quantidade de ruídos. Marcelo Gattass

Dois tipos básicos de ruídos Imagem Digital 25/11/2017 Dois tipos básicos de ruídos Ruído Gaussiano branco : processo estocástico de média zero, independente do tempo e dos espaço. é o mesmo processo estocástico que não varia no tempo. é uma variável aleatória com a distribuição: Marcelo Gattass

Exemplo de ruído Gaussiano (=5) e Impulsivo ( =0.99) Imagem Digital 25/11/2017 Exemplo de ruído Gaussiano (=5) e Impulsivo ( =0.99) Marcelo Gattass

Imagem Digital 25/11/2017 Marcelo Gattass

Imagem com ruído impulsivo Imagem Digital 25/11/2017 Imagem com ruído impulsivo Uso da mediana para reduzir o ruído 223 204 171 120 18 50 116 138 97 187 242 172 179 167 235 76 175 123 214 114 143 232 198 203 205 Ωij Iij = mediana Ωij = 120 Marcelo Gattass

Sinal com ruído gaussiano Imagem Digital 25/11/2017 Sinal com ruído gaussiano Marcelo Gattass

Imagem Digital 25/11/2017 Suavização f h Marcelo Gattass

Imagem Digital Filtragem Gaussiana 25/11/2017 Marcelo Gattass

Imagem Digital 25/11/2017 Mascara ou Filtro ou: Marcelo Gattass

Imagem Digital 25/11/2017 Convolução Marcelo Gattass

Convolution Pictorially f(x) h(x)

Convolution h(t-x) f(t) x

Convolution Consider the function (box filter):

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This function windows our function f(x). f(t)

Convolution This particular convolution smooths out some of the high frequencies in f(x). f(t) f(x)g(x)

Ilustação da convolução Imagem Digital 25/11/2017 Ilustação da convolução Marcelo Gattass

Ilustração da convolução Imagem Digital 25/11/2017 Ilustração da convolução Marcelo Gattass

Discretização da Gaussiana 1D Imagem Digital 25/11/2017 Discretização da Gaussiana 1D 0.3 0.2 0.1 -4 -3 -2 -1 1 2 3 4 Marcelo Gattass

Discretização da Gaussiana 2D Imagem Digital 25/11/2017 Discretização da Gaussiana 2D Marcelo Gattass

Convolução com máscara

Separabilidade do filtro gaussiano Imagem Digital 25/11/2017 Separabilidade do filtro gaussiano 207 247 38 131 62 90 129 234 231 211 175 44 1 26 236 58 75 128 112 210 141 125 168   130 117 129 125 90 88 93 92   185 113 84 93 145 207 151 66 18 107 111 154 140 130   130 117 129 125 90 88 93 92 Marcelo Gattass

Imagem filtrada com um filtro passa baixa Imagem Digital 25/11/2017 Imagem filtrada com um filtro passa baixa Marcelo Gattass

Imagem Digital 25/11/2017 Arestas e cantos Locais de mudanças significativas na intensidade da imagem Marcelo Gattass

Edgedels = edge elements Imagem Digital 25/11/2017 Edgedels = edge elements Marcelo Gattass

Tipos de arestas degrau (step) rampa (ramp) cume (roof) Imagem Digital 25/11/2017 Tipos de arestas degrau (step) rampa (ramp) cume (roof) impulso (spike) Marcelo Gattass

Imagem Digital 25/11/2017 Gráfico sem e com ruído Marcelo Gattass

Derivadas e arestas f(x) f(x)+n(x) | f'(x)+n'(x) | f"(x)+n"(x) Imagem Digital 25/11/2017 Derivadas e arestas f(x) f(x)+n(x) | f'(x)+n'(x) | f"(x)+n"(x) Marcelo Gattass

Série de Taylor Com x=1, f(x)=fi e f(x+x)=fi+1 Imagem Digital 25/11/2017 Série de Taylor Com x=1, f(x)=fi e f(x+x)=fi+1 (a) Com x=-1, f(x)=fi e f(x+x)=fi-1 (b) Marcelo Gattass

Aproximações para derivadas Imagem Digital 25/11/2017 Aproximações para derivadas f(x) x fi-1 fi fi+1 i+1 i i-1 (a-b)  (a+b)  Marcelo Gattass

Em 2D Gradiente Laplaciano Convolution Kernels Imagem Digital 25/11/2017 Em 2D Gradiente Convolution Kernels Laplaciano Marcelo Gattass

Finite differences Khurram Hassan-Shafique Imagem Digital 25/11/2017 Now the figure on the right is signed; darker is negative, lighter is positive, and mid grey is zero. I always ask 1) which derivative (y or x) is this? 2) Have I got the sign of the kernel right? (i.e. is it d/dx or -d/dx). Khurram Hassan-Shafique Marcelo Gattass

Classical Operators Prewitt’s Operator Differentiate Smooth Imagem Digital 25/11/2017 Classical Operators Prewitt’s Operator Differentiate Smooth Khurram Hassan-Shafique Marcelo Gattass

Classical Operators Sobel’s Operator Differentiate Smooth Imagem Digital 25/11/2017 Classical Operators Sobel’s Operator Differentiate Smooth Khurram Hassan-Shafique Marcelo Gattass

Detecting Edges in Image Imagem Digital 25/11/2017 Detecting Edges in Image Sobel Edge Detector Edges Threshold Image I Khurram Hassan-Shafique Marcelo Gattass

Sobel Edge Detector Khurram Hassan-Shafique Imagem Digital 25/11/2017 Marcelo Gattass

Sobel Edge Detector Khurram Hassan-Shafique Imagem Digital 25/11/2017 Marcelo Gattass

Filtros de realce de bordas Imagem Digital 25/11/2017 Filtros de realce de bordas Vertical Horizontal Gradiente Roberts Sobel Laplaciano Marcelo Gattass

Imagem filtrada com um filtro passa alta Imagem Digital 25/11/2017 Imagem filtrada com um filtro passa alta Marcelo Gattass

Linearização da Imagem computacional

“Estrutura” de uma imagem Imagem Digital 25/11/2017 “Estrutura” de uma imagem y j x i y y x x Marcelo Gattass

Organização de pixels num array no formato TGA (targa) Imagem Digital 25/11/2017 Organização de pixels num array no formato TGA (targa) y Pixel (x,y) h-1 ... 3 2 1 b g r a b g r a b g r a b g r a 1 … w-1 x unsigned char *bgra_vector; … /* pixel x,y */ offset=4*(w*y+x); blue = bgra_vector[offset]; green = bgra_vector[offset+1]; red = bgra_vector[offset+2]; alpha = bgra_vector[offset+3]; Marcelo Gattass

Esquemas de armazenamento de imagens Imagem Digital 25/11/2017 Esquemas de armazenamento de imagens Plano de Cores Bancos (Java) Azul Verde Verm. 00 01 02 06 05 03 04 07 08 09 . . . 06 Informação é uma componente da cor 06 Pixel 0 Pixel 1 Pixel 2 Pixel 3 Pixel 4 Pixel 5 Organização dos pixels de uma imagem por planos de cores (Data Buffer – Java) Marcelo Gattass

Fomrato num arquivo BMP (windows) Imagem Digital 25/11/2017 Fomrato num arquivo BMP (windows) 00 01 02 08 07 06 05 03 04 10 09 11 Pixel 0 Pixel 1 Pixel 2 Pixel 3 13 12 14 Pixel 4 15 16 17 18 ... Organização dos pixels de uma imagem RGB no arquivo BMP colocado para garantir múltiplo de 4 Marcelo Gattass

Microsoft Windows Bitmap - BMP Imagem Digital 25/11/2017 Microsoft Windows Bitmap - BMP Características Principais Mono, 4-bit, 8-bit, 24-bit Tipo de compressão: RLE / não comprimido Tamanho máximo: 64K x 64K pixels Seções (versão 3): Header Info. Header Palette Bitmap Data Marcelo Gattass

BMP - Header typedef struct _Win3xBitmapHeader { Imagem Digital 25/11/2017 BMP - Header typedef struct _Win3xBitmapHeader { WORD Type; /* Image file type 4D42h (“BM”)*/ DWORD FileSize; /* File size (bytes) */ WORD Reserved1; /* Reserved (always 0) */ WORD Reserved2; /* Reserved (always 0) */ DWORD Offset; /* Offset to bitmap data in bytes */ } WIN3XHEAD; Marcelo Gattass

BMP - Information Header Imagem Digital 25/11/2017 BMP - Information Header typedef struct _Win3xBitmapInfoHeader { DWORD Size; /* Size of this Header (40) */ DWORD Width; /* Image width (pixels) */ DWORD Height; /* Image height (pixels) */ WORD Planes; /* Number of Planes (always=1) */ WORD BitCount; /* Bits per pixel (1/4/8 or 24)*/ DWORD Compression; /* Compression (0/1/2) */ DWORD SizeImage; /* Size of bitmap (bytes) */ DWORD XPelsPerMeter; /* Horz. resol.(pixels/m) */ DWORD YPelsPerMeter; /* Vert. resol.(pixels/m) */ DWORD ClrUsed; /* Num of colors in the image */ DWORD ClrImportant; /* Num of important colors */ } WIN3XINFOHEADER; Marcelo Gattass

BMP - Palette typedef struct _Win3xPalette { Imagem Digital 25/11/2017 BMP - Palette typedef struct _Win3xPalette { RGBQUAD Palette[ ]; /* 2, 16, or 256 elem. */ } WIN3XPALETTE; typedef struct _Win3xRgbQuad BYTE Blue; /* 8-bit blue component */ BYTE Green; /* 8-bit green component */ BYTE Red; /* 8-bit red component */ BYTE Reserved; /* Reserved (= 0) */ } RGBQUAD; Marcelo Gattass

Imagem Digital 25/11/2017 BMP - Image Data Notas Cada scan line em um arquivo BMP é sempre um múltiplo de 4. Imagens com1-, 4-, e 8-bits usam uma palheta de cores. Imagens com 24-bits guardam a cor diretamente, na ordem azul, verde e vermelho. O armazenamento da imagem é sempre feito a partir do canto esquerdo inferior. Marcelo Gattass

codificação

Codificação uniforme tons Podemos melhorar? Uniforme # pixels código Imagem Digital 25/11/2017 Codificação uniforme Uniforme tons # pixels código tam. # bits 1900 000 3 5700 1/7 2500 001 7500 2/7 2100 010 6300 3/7 1600 011 4800 4/7 800 100 2400 5/7 600 101 1800 6/7 300 110 900 1 200 111   TOTAL 30000 Podemos melhorar? Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman 1/7 2500 2/7 2100 1900 3/7 1600 4/7 800 5/7 600 6/7 300 1 200 1/7 2500 2/7 2100 1900 3/7 1600 4/7 800 5/7 600 n0 500 n0 6/7 1 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman 1/7 2500 2/7 2100 1900 3/7 1600 4/7 800 5/7 600 n0 500 1/7 2500 2/7 2100 1900 3/7 1600 n1 1100 4/7 800 n1 n0 5/7 6/7 1 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman 1/7 2500 2/7 2100 1900 3/7 1600 n1 1100 4/7 800 1/7 2500 2/7 2100 1900 n2 3/7 1600 n0 6/7 1 5/7 n1 4/7 n2 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman 1/7 2500 2/7 2100 1900 n2 3/7 1600 n3 3500 1/7 2500 2/7 2100 1900 n0 6/7 1 5/7 n1 4/7 n2 3/7 n3 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman n3 3500 1/7 2500 2/7 2100 1900 n4 4000 n3 3500 1/7 2500 n4 2/7 n0 6/7 1 5/7 n1 4/7 n2 3/7 n3 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman n6 n4 4000 n3 3500 1/7 2500 n5 6000 n4 4000 n4 n5 n3 1/7 2/7 n2 3/7 n1 4/7 n0 5/7 6/7 1 Marcelo Gattass

Construção da Árvore Huffman Imagem Digital 25/11/2017 Construção da Árvore Huffman 1 11 10 01 00 111 110 1111 1110 11111 11110 111101 111100 n0 n1 n2 n3 n4 n5 n6 6/7 5/7 4/7 3/7 2/7 1/7 Marcelo Gattass

Codificação de Huffman Imagem Digital 25/11/2017 Codificação de Huffman Uniforme Huffman tons # pixels código tam. # bits 1900 000 3 5700 00 2 3800 1/7 2500 001 7500 10 5000 2/7 2100 010 6300 01 4200 3/7 1600 011 4800 110 4/7 800 100 2400 1110 4 3200 5/7 600 101 1800 11111 5 3000 6/7 300 900 111101 6 1 200 111 111100 1200   TOTAL 30000 27000 Marcelo Gattass

Redundância de Codificação Imagem Digital 25/11/2017 Redundância de Codificação r p(r) Code 1 l(r) l(r)p(r) Code 2 l(r) l(r)p(r) 0.19 000 3 0.57 11 2 0.38 1/7 0.25 001 3 0.75 01 2 0.50 2/7 0.21 010 3 0.63 10 2 0.42 3/7 0.16 011 3 0.48 001 3 0.48 4/7 0.08 100 3 0.24 0001 4 0.32 5/7 0.06 101 3 0.18 00001 5 0.30 6/7 0.03 110 3 0.09 000001 6 0.18 1 0.02 111 3 0.06 000000 6 0.12 1.00 Lavg= 3.00 Lavg= 2.70 rk = tons de cinza em uma imagem, k=0, 1, ..., -1 p(rk) = nk / n onde nk = número de pixels com tom rk n = número de pixels da imagem 11 10 01 001 0001 00001 000001 000000 Marcelo Gattass

Resultado da Teoria da Informação Imagem Digital 25/11/2017 Resultado da Teoria da Informação r p(r) Code 1 l(r) l(r)p(r) Code 2 log(1/p) log(1/p)*p 0.19 000 3 0.57 11 2 0.38 2.4 0.46 1/7 0.25 001 0.75 01 0.50 2.0 2/7 0.21 010 0.63 10 0.42 2.3 0.47 3/7 0.16 011 0.48 2.6 4/7 0.08 100 0.24 0001 4 0.32 3.6 0.29 5/7 0.06 101 0.18 00001 5 0.30 4.1 6/7 0.03 110 0.09 000001 6 5.1 0.15 1 0.02 111 000000 0.12 5.6 0.11 =1.00 Lavg = 3.00 2.70 Lopt = 2.65 Marcelo Gattass

Compressão do jpeg

Aplicações são tecnologicamente complexas: exemplo: algoritmo do JPEG 8x8 blocks Source Image B G R DCT-based encoding Compressed image data FDCT Quantizer Entropy Encoder Table Table

Equations for JPEG DCT Forward DCT: Inverse DCT:

Visualization of Basis Functions Increasing frequency

Organização de pixels num array no formato TGA (targa) Pixel (x,y) h-1 ... 3 2 1 b g r a b g r a b g r a b g r a 1 … w-1 x unsigned char *bgra_vector; … offset=4*(w*y+x); blue = bgra_vector[offset]; green = bgra_vector[offset+1]; red = bgra_vector[offset+2]; alpha = bgra_vector[offset+3];