Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Prof. Leonardo Vidal Batista CI/PPGI leonardo@ci.ufpb.br Modelagem matemática, análise, projeto e implementação (S&H) de algoritmos, técnicas e sistemas voltados ao tratamento de informação pictórica, com fins estéticos, para torná-la mais adequada à interpretação ou aumentar eficiência de armazenamento e transmissão. 28/09/2014 Leonardo Vidal Batista - 2 28/09/2014 Leonardo Vidal Batista - 3 28/09/2014 Leonardo Vidal Batista - 4 Fonte: http://www.youtube.com/watch?v=2gtLgiWr8hE 28/09/2014 Leonardo Vidal Batista - 5 28/09/2014 Leonardo Vidal Batista - 6 104 M bytes 659 K bytes Compressão = 157:1 28/09/2014 Leonardo Vidal Batista - 7 Imagens Visão Computacional Computação Gráfica Processamento Digital de Imagens (sinais 2D) Dados Processamento Digital de Sinais 28/09/2014 Leonardo Vidal Batista - 8 ImageNet large-scale visual recognition challenge Team GoogLeNet 28/09/2014 Leonardo Vidal Batista - 9 28/09/2014 Leonardo Vidal Batista - 10 28/09/2014 Leonardo Vidal Batista - 11 28/09/2014 Leonardo Vidal Batista - 12 28/09/2014 Leonardo Vidal Batista - 13 28/09/2014 Leonardo Vidal Batista - 14 28/09/2014 Leonardo Vidal Batista - 15 28/09/2014 Leonardo Vidal Batista - 16 28/09/2014 Leonardo Vidal Batista - 17 28/09/2014 Leonardo Vidal Batista - 18 28/09/2014 Leonardo Vidal Batista - 19 28/09/2014 Leonardo Vidal Batista - 20 28/09/2014 Leonardo Vidal Batista - 21 28/09/2014 Leonardo Vidal Batista - 22 28/09/2014 Leonardo Vidal Batista - 23 28/09/2014 Leonardo Vidal Batista - 24 Interpol faz apelo público para identificar pedófilo (http://noticias.terra.com.br/mundo/interna/0,,OI1971484-EI294,00.html) Fotos manipuladas digitalmente para disfarçar o rosto do pedófilo, Especialistas da Agência de Polícia Federal na Alemanha recuperaram o rosto do suspeito 28/09/2014 Leonardo Vidal Batista - 25 A imagem distorcida foi recuperada por especialistas 28/09/2014 Leonardo Vidal Batista - 26 28/09/2014 Leonardo Vidal Batista - 27 28/09/2014 Leonardo Vidal Batista - 28 28/09/2014 Leonardo Vidal Batista - 29 28/09/2014 Leonardo Vidal Batista - 30 28/09/2014 Leonardo Vidal Batista - 31 http://www.echalk.co.uk/ amusements/OpticalIllusi ons/illusions.htm 28/09/2014 Leonardo Vidal Batista - 32 28/09/2014 Leonardo Vidal Batista - 33 28/09/2014 Leonardo Vidal Batista - 34 28/09/2014 Leonardo Vidal Batista - 35 28/09/2014 Leonardo Vidal Batista - 36 28/09/2014 Leonardo Vidal Batista - 37 28/09/2014 Leonardo Vidal Batista - 38 28/09/2014 Leonardo Vidal Batista - 39 28/09/2014 Leonardo Vidal Batista - 40 28/09/2014 Leonardo Vidal Batista - 41 Luz: radiação eletromagnética Freqüência f, comprimento de onda L, intensidade ou amplitude A Faixa visível do espectro eletromagnético: 380 nm < L < 780 nm Na faixa visível, o sistema visual humano (SVH) percebe comprimentos de onda diferentes como cores diferentes 28/09/2014 Leonardo Vidal Batista - 42 28/09/2014 Leonardo Vidal Batista - 43 Fonte: http://www.dnr.sc.gov/ael/personals/pjpb/lecture/lecture.html 28/09/2014 Leonardo Vidal Batista - 44 Radiação monocromática: radiação em um único comprimento de onda Cor espectral pura: radiação monocromática na faixa visível 28/09/2014 Leonardo Vidal Batista - 45 28/09/2014 Leonardo Vidal Batista - 46 Denominação Usual da Cor Faixa do Espectro (nm) Violeta 380 – 440 Azul 440 – 490 Verde 490 – 565 Amarelo 565 – 590 Laranja 590 – 630 Vermelho 630 – 780 Aproximadamente esférico, diâmetro em torno de dois centímetros A luz penetra no olho passando pela pupila e pelo cristalino e atingindo a retina Imagem invertida do cenário externo sobre a retina Cones e bastonetes convertem energia luminosa em impulsos elétricos que são transmitidos ao cérebro. 28/09/2014 Leonardo Vidal Batista - 47 28/09/2014 Leonardo Vidal Batista - 48 75 a 150 milhões/olho, sobre toda a retina Insensíveis às cores Baixa resolução - conectados em grupos aos terminais nervosos Sensíveis à radiação de baixa intensidade na faixa visível Visão geral e de baixa luminosidade (escotópica) Objetos acinzentados sob baixa luminosidade 28/09/2014 Leonardo Vidal Batista - 49 Thomas Young e Hermann von Helmholtz (séc. 19): 3 tipos de receptores de cores no olho, os cones L-cones: sensíveis a comprimentos de onda elevados – “sensíveis ao vermelho” (R) M-cones: sensíveis a comprimentos de onda médios – “sensíveis ao verde” (G) S-cones: sensíveis a comprimentos de onda reduzidos – “sensíveis ao azul” (B) Cores representadas como soma de 3 cores primárias 28/09/2014 Leonardo Vidal Batista - 50 6 a 7 milhões/olho, concentrados na fóvea Sensíveis às cores Alta resolução - um cone por terminal nervoso Pouco sensíveis à radiação de baixa intensidade na faixa visível Visão específica, de alta luminosidade (fotópica) Movimentamos os olhos para que a imagem do objeto de interesse recaia sobre a fóvea. 28/09/2014 Leonardo Vidal Batista - 51 28/09/2014 Leonardo Vidal Batista - 52 http://www.telescope- optics.net/eye_spectral_response.htm 28/09/2014 Leonardo Vidal Batista - 53 Gonzalez&Woods, Digital Image Processing. 28/09/2014 Leonardo Vidal Batista - 54 Fonte: http://www.reefcorner.org/forum/conceitos_de_luminotecnica_colorimetria-52313 28/09/2014 Leonardo Vidal Batista - 55 Comprimento de onda (nm) 700 600 500 400 Re sp os ta Cone “Vermelho” Cone “Verde” Cone “Azul” 28/09/2014 Leonardo Vidal Batista - 56 http://www.aif.estt.ipt.pt/Ficheiros_PDF/SensitAnalogica_FOTO/Fichas /Cap3_Sensito.pdf A cor de uma fonte de radiação na faixa visível é definida pela adição das cores espectrais emitidas – sistema aditivo Combinação de radiações monocromáticas vermelho (R), verde (G) e azul (B) Cores primárias da luz Sistema de cores RGB 28/09/2014 Leonardo Vidal Batista - 57 Padronização da Comissão Internacional de Iluminação (CIE): • Azul: 435,8 nm • Verde: 546,1 nm • Vermelho: 700 nm 28/09/2014 Leonardo Vidal Batista - 58 Cores secundárias da luz: magenta (M), cíano (C) e amarelo (Y): • M = R + B • C = B + G • Y = G + R Cor branca (W): • W = R + G + B 28/09/2014 Leonardo Vidal Batista - 59 Cor em RGB é um vetor em um espaço 3D 28/09/2014 Leonardo Vidal Batista - 60 Fonte: http://corisectelmo.blogspot.com/2010/11/aula-12-experiencia-fundamental-da.html Reta (i, i, i): reta acromática Pontos na reta acromática: tonalidades de cinza ou níveis de cinza Preto: (0, 0, 0) (ausência de luz) Branco: (M, M, M), M é a intensidade máxima de uma componente de cor) Monitor de vídeo: sistema RGB 28/09/2014 Leonardo Vidal Batista - 61 Cor de objeto que não emite radiação depende dos pigmentos que absorvem radiação em determinadas faixas de freqüência e refletem outras Absorção variável de R, G e B da radiação incidente: sistema subtrativo 28/09/2014 Leonardo Vidal Batista - 62 Cores primárias dos pigmentos: absorvem uma cor primária da luz e refletem as outras duas • C = W – R = G + B • M = W – G = R + B • Y = W – B = G + R 28/09/2014 Leonardo Vidal Batista - 63 Cores secundárias: • R = M + Y • G = C + Y • B = M + C Preto (K): • K = C + M + Y = W – R – G – B Impressoras coloridas: CMY ou CMYK 28/09/2014 Leonardo Vidal Batista - 64 28/09/2014 Leonardo Vidal Batista - 65 28/09/2014 Leonardo Vidal Batista - 66 (255,0,0) (0,255,0) (0,0,255) (0,0,0) (255,255,0) (255,0,255) (0,255,255) (128,128,128) (128,0,0) (0, 128,0) (0, 0, 128) (255,255,255) (255,128,64) (255,32,32) (255,128,128) (255,230, 230) Transmissão de TV em cores: compatibilidade com TV P&B Y: luminância, intensidade percebida, ou brilho I e Q: crominâncias 28/09/2014 Leonardo Vidal Batista - 67 Conversão de RGB para YIQ • Y = 0.299R + 0.587G + 0.114B • I = 0.596R – 0.274G –0.322B • Q = 0.211R – 0.523G + 0.312B Conversão de YIQ para RGB : • R = 1.000 Y + 0.956 I + 0.621 Q • G = 1.000 Y – 0.272 I – 0.647 Q • B = 1.000 Y – 1.106 I + 1.703 Q 28/09/2014 Leonardo Vidal Batista - 68 RGB = (25, 25, 25) RGB = (200, 200, 200) RGB = (100, 0, 0) RGB = (0, 100, 0) RGB = (100, 50, 25) RGB = (200, 100, 50) 28/09/2014 Leonardo Vidal Batista - 69 YIQ = (25, 0, 0) YIQ = (200, 0, 0) YIQ = (29.9, 59.6, 21.1) YIQ = (58.7, -27.4, -52.3) YIQ = (62.1, 37.85, 2.75) YIQ = (124.2, 75.7, 5.5) Fisiologicamente, a retina humana opera no sistema RGB A percepção subjetiva de cor é diferente Atributos perceptivos das cores: • Matiz (hue) ou tonalidade • Saturação • Intensidade 28/09/2014 Leonardo Vidal Batista - 70 Hue-Saturation-Intensity (ou Lightness, Luminance, Luminosity) Análogo aos sistemas HSB e HSV (L=Lightness , Luminance ou Luminosity; B=Brightness; V=Value). 28/09/2014 Leonardo Vidal Batista - 71 28/09/2014 Leonardo Vidal Batista - 72 H=0o H=120o H=240o S=0 S=0,5 S=1 S=1 I=0 I=100% Matiz (H): determinada pelo comprimento de onda dominante; cor espectral mais próxima; denominação usual das cores H é um ângulo: 0o = R; 120o = G; 240o = B Saturação: pureza da cor quanto à adição de branco S = 0: cor insaturada (nível de cinza) S = 1: cor completamente saturada Cores espectrais puras tem S = 1 28/09/2014 Leonardo Vidal Batista - 73 Algoritmos nas Notas de Aula RGB = (100, 100, 100) RGB = (255, 255, 255) RGB = (255, 255, 0) RGB = (0, 255, 0) RGB = (25, 255, 25) 28/09/2014 Leonardo Vidal Batista - 74 HSB = (0o, 0%, 39%) HSB = (0o, 0%, 100%) HSB = (60o, 100%, 100%) HSB = (120o, 100%, 100%) HSB = (120o, 90%, 100%) 28/09/2014 Leonardo Vidal Batista - 75 y x Função Ia(x,y) (x, y): coordenadas espaciais Ia(x,y): intensidade ou brilho da imagem em (x,y) 28/09/2014 Leonardo Vidal Batista - 76 Digitalização: • discretização espacial (amostragem) • discretização de intensidade (quantização) 28/09/2014 Leonardo Vidal Batista - 77 28/09/2014 Leonardo Vidal Batista - 78 Sinal discreto Sinal analógico 0 Ta 2Ta 3Ta ... Tempo, espaço etc. Am pl itu de 28/09/2014 Leonardo Vidal Batista - 79 Sinal digital Sinal analógico 0 Ta 2Ta 3Ta ... 0 q 2q -2q ... -q ... Tempo, espaço etc. Am pl itu de 28/09/2014 Leonardo Vidal Batista - 80 Sinal digital Sinal analógico Erros de quantização 0 Ta 2Ta 3Ta ... 0 q 2q -2q ... -q ... Tempo, espaço etc. Am pl itu de v. Domínio da Frequência 28/09/2014 Leonardo Vidal Batista - 81 Processador analógico Sinal analógico de entrada Sinal analógico de saída 28/09/2014 Leonardo Vidal Batista - 82 Conversor A/D Processador Digital Sinal analógico Sinal digital Conversor A/D Processador Digital Sinal analógico Sinal analógico Conversor D/A Alguns sinais são inerentemente digitais ou puramente matemáticos Ex: Número de gols por rodada do campeonato brasileiro de futebol Neste caso, não há necessidade de Conversão A/D Ainda assim, pode haver necessidade de conversão D/A • Ex: texto -> voz sintetizada 28/09/2014 Leonardo Vidal Batista - 83 Hardware, software, ou ambos Maior flexibilidade Menor custo Menor tempo de desenvolvimento Maior facilidade de distribuição Sinais digitais podem ser armazenados e reproduzidos sem perda de qualidade Mas alguns sistemas exigem uma etapa analógica! 28/09/2014 Leonardo Vidal Batista - 84 28/09/2014 Leonardo Vidal Batista - 85 Sinal analógico original Sinal corrompido, recuperação difícil ou impossível 28/09/2014 Leonardo Vidal Batista - 86 ‘1’ ‘0’ Sinal digital original ‘1’ ‘0’ Sinal corrigido Sinal corrompido – recuperação possível+códigos corretores. ‘1’ ‘0’ Sinal recuperado (com erro) ‘1’ ‘0’ Ta: período de amostragem (unidade de espaço ou tempo) fa = 1/Ta: freqüência de amostragem (amostras/unidade de espaço ou tempo) q: tamanho do passo de quantização Sinal analógico: s(t), s(x) Sinal digitalizado: s[nTa], n inteiro não negativo, s[nTa] {-Mq, ..., -2q, -q, 0, q, 2q, ..., (M-1)q} 28/09/2014 Leonardo Vidal Batista - 87 Sinal analógico r(t): voltagem na saída de um sistema, em função do tempo T = 0.5 s, q = 0.5 V, M = 64 28/09/2014 Leonardo Vidal Batista - 88 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Vo lts segundos Sinal analógico Amostragem com T = 0.5s: r(0.5n), n = 0, 1, 2, ... Considere que • r(0.0) = 9.71293 V... • r(0.5) = 7.75000 V... • r(1.0) = -2.24555 V... • r(1.5) = -10.50000 V... Quantização com q = 0.5 V e M = 64 • r[0.5n] {-32, -31.5..., -0.5, 0, 0.5 1,...,31, 31.5} 28/09/2014 Leonardo Vidal Batista - 89 r[0]=9.5V, r[0.5]=8V, r[1]=-2V, r[1.5]= -10.5V, ... Notação Simplificada: • r[n] {-M,..., -2, -1, 0, 1, 2,..., M-1} • r[0]=19, r[1]=16, r[2]=-4, r[3]=-21,... • r[n] = {19, 16, -4, -21, ...} 28/09/2014 Leonardo Vidal Batista - 90 Em um processo de digitalização foram colhidas N=10 amostras de um sinal de temperatura (º Celsius) igualmente espaçadas ao longo de um segmento de reta unindo duas cidades A e B. A 1ª amostra foi colhida na cidade A e a última na cidade B. O sinal digital resultante é s[n] = {12 12 13 13 14 13 14 14 15 14} Perguntas: (a) Distância entre as cidades? (b) Valores de temperatura registrados? (c) Limites de temperatura registrável? (d) Qual o valor de s[5km]? (e) Erro máximo cometido na conversão 28/09/2014 Leonardo Vidal Batista - 91 Precisamos conhecer f, q e M! Dados: f = 0.1 amostra/km q = 2o Celsius M = 16; 28/09/2014 Leonardo Vidal Batista - 92 Em um processo de digitalização foram colhidas N=10 amostras de um sinal de temperatura (º Celsius) igualmente espaçadas ao longo de um segmento de reta unindo duas cidades A e B. A 1ª amostra foi colhida na cidade A e a última na cidade B. O sinal digital resultante é s[n] = {12 12 13 13 14 13 14 14 15 14} f = 0.1 amostra/km, q = 2o Celsius, M = 16 Perguntas: (a) Distância entre as cidades? (b) Valores de temperatura registrados? (c) Limites de temperatura registrável? (d) Qual o valor de s[5km]? (e) Erro máximo cometido na conversão 28/09/2014 Leonardo Vidal Batista - 93 T = 10 km/amostra (a) Distância entre as cidades = (10-1)x10 = 90 km (b) Temperaturas (º Celsius): {24 24 26 26 28 26 28 28 28 30} (c) Limites de temperatura (º Celsius): [-32,30] (d) s[5km]: no sinal digital s[nT] não há nT = 5km! (e) Indefinido! 28/09/2014 Leonardo Vidal Batista - 94 Conversor Analógico/Digital (Analog to Digital Converter - ADC): amostra, quantiza em L níveis e codifica em binário. Um transdutor deve converter o sinal de entrada para tensão elétrica (V) Códigos de b bits: L = 2b níveis de quantização Exemplo: b = 8, L = 256 ADC de b bits 28/09/2014 Leonardo Vidal Batista - 95 ADC unipolar: voltagem de entrada de 0 a Vref ADC bipolar: voltagem de entrada de -Vref a Vref Exemplo: ADC unipolar de 3 bits, Vref = 10 V • L = 2³ = 8, Resolução de voltagem: 10/8 = 1,25V Exemplo: ADC bipolar de 3 bits, Vref = 5 V • L = 2³ = 8, Resolução de voltagem: 10/8 = 1,25V 28/09/2014 Leonardo Vidal Batista - 96 28/09/2014 Leonardo Vidal Batista - 97 Unipolar Bipolar Voltagem Código Voltagem Código [0,00, 1,25) [1,25, 2,50) [2,50, 3,75) [3,75, 5,00) [5,00, 6,25) [6,25, 7,50) [7,50, 8,75) [8,75, 10,0) 000 001 010 011 100 101 110 111 [-5,0, -3,75) [-3,75, -2,5) [-2,5, -1,25) [-1,25, 0,0) [0,00, 1,25) [1,25, 2,50) [2,50, 3,75) [3,75, 5,00) 000 001 010 011 100 101 110 111 O bit menos significativo (LSB) do código se altera em incrementos de 1,25V. Resolução de voltagem: “valor” do LSB Alguns parâmetros: fa, Vref, b, ... 28/09/2014 Leonardo Vidal Batista - 98 28/09/2014 Leonardo Vidal Batista - 99 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Vo lts segundos Sinal analógico 0 1 2 3 4 5 6 7 -40 -20 0 20 40 f = 2 amostras/s (T = 0,5s), q = 1 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Sinal analógico reconstruído 28/09/2014 Leonardo Vidal Batista - 100 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Vo lts segundos Sinal analógico 0 1 2 3 4 5 6 7 -40 -20 0 20 40 f = 5 amostras/s (T = 0,2s), q = 1 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Sinal analógico reconstruído 28/09/2014 Leonardo Vidal Batista - 101 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Vo lts segundos Sinal analógico 0 1 2 3 4 5 6 7 -40 -20 0 20 40 f = 10 amostras/s (T = 0,1s), q = 1 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Sinal analógico reconstruído 28/09/2014 Leonardo Vidal Batista - 102 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Vo lts segundos Sinal analógico 0 1 2 3 4 5 6 7 -40 -20 0 20 40 f = 10 amostras/s (T = 0,1s), q = 16 0 1 2 3 4 5 6 7 -40 -20 0 20 40 Sinal analógico reconstruído f[i, j] {0, 1, 2,..., M-1} Tipicamente, M = 256 28/09/2014 Leonardo Vidal Batista - 103 28/09/2014 Leonardo Vidal Batista - 104 Th Tv 161 161 28/09/2014 Leonardo Vidal Batista - 105 95...163163 ............ 142...161161 142...161161 28/09/2014 Leonardo Vidal Batista - 106 28/09/2014 Leonardo Vidal Batista - 107 95...163163 ............ 142...161161 142...161161 28/09/2014 Leonardo Vidal Batista - 108 0 100 200 300 400 500 0 50 100 150 200 250 0 50 100 150 200 250 300 350 0 50 100 150 200 250 i=0 J=266 28/09/2014 Leonardo Vidal Batista - 109 256x256 / 256 níveis 256x256 / 64 níveis 256x256 / 2 níveis 32x32 / 256 níveis 28/09/2014 Leonardo Vidal Batista - 110 128 grey levels (7 bpp) 64 grey levels (6 bpp) 32 grey levels (5 bpp) 16 grey levels (4 bpp) 8 grey levels (3 bpp) 4 grey levels (2 bpp) 2 grey levels (1 bpp) 256 grey levels (8 bits per pixel) 28/09/2014 Leonardo Vidal Batista - 111 Banda R Banda G Banda B Imagem RGB 138...00 ............ 3...129132 3...133137 79...00 ............ 3...8991 3...9296 37...00 ............ 3...6163 3...6468 28/09/2014 Leonardo Vidal Batista - 112 Banda R Banda G Banda B Imagem RGB Uma imagem é uma matriz bidimensional observada de forma pictórica. Imagens de densidade demográfica, de raios x, de infravermelho, de temperaturas de uma área, etc. 28/09/2014 Leonardo Vidal Batista - 113 Monocromáticos: fila de diodos fotossensíveis em um suporte que se desloca Coloridos: fila de diodos fotossensíveis, recobertos por filtros R, G e B, em um suporte que se desloca Lâmpada fluorescente branca ilumina o objeto Diodos produzem carga elétrica proporcional à intensidade da luz refletida pelo objeto 28/09/2014 Leonardo Vidal Batista - 114 28/09/2014 Leonardo Vidal Batista - 115 28/09/2014 Leonardo Vidal Batista - 116 Th: distância entre diodos no suporte Tv: tamanho do passo do suporte Th e Tv definem a resolução espacial M: profundidade de cor ou resolução de contraste Resolução espacial: pontos por polegada (dot per inch, dpi) (1 ponto = 1 sensor em scanner monocromático, 3 sensores em scanners RGB) 1 pol = 2,54 cm. 28/09/2014 Leonardo Vidal Batista - 117 Ex: scanner 300 x 300 dpi, capaz de digitalizar de formato carta(8,5 x 11’’), no máximo • 8,5x300=2550 diodos (mono) ou • 3x2550=7650 diodos (cor) Aumentar resolução vertical sem aumentar o número de sensores 28/09/2014 Leonardo Vidal Batista - 118 28/09/2014 Leonardo Vidal Batista - 119 Sensor de imagem: matriz de diodos fotosensíveis cobertos por filtros R, G e B Diodos produzem carga elétrica proporcional à intensidade da luz incidente Resolução espacial de câmeras: número de pontos (ou pixels), RxC (1 ponto = 3 sensores) 28/09/2014 Leonardo Vidal Batista - 120 28/09/2014 Leonardo Vidal Batista - 121 ... ... 28/09/2014 Leonardo Vidal Batista - 122 Pontos de cálculo dos valores RGB 28/09/2014 Leonardo Vidal Batista - 123 Fonte: http://micro.magnet.fsu.edu/primer/digitalimaging/cmosimagesensors.html 28/09/2014 Leonardo Vidal Batista - 124 Fonte: http://micro.magnet.fsu.edu/primer/digitalimaging/cmosimagesensors.html 28/09/2014 Leonardo Vidal Batista - 125 Fonte: http://www.moglik.com/i/show/4255/camera-sensor-cmos-diagrama.htm 28/09/2014 Leonardo Vidal Batista - 126 28/09/2014 Leonardo Vidal Batista - 127 Fuji S9500–ISO 1600 9 M pixels Canon EOS350D–ISO 1600 8 M pixels 28/09/2014 Leonardo Vidal Batista - 128 Fuji S9500–ISO 1600 Canon EOS350D–ISO 1600 Boa qualidade: resolução abaixo de 5 M pixels /cm2 (em 2012 ) • Canon EOS 5D Mark III: 22 M pixels, R$ 10.000,00 • Canon 60D, R$ 2.500,00 • Nikon CoolPix P7100, R$ 1.200,00 • Sony Cyber-shot DSC-TX100V, R$ 1.000,00 28/09/2014 Leonardo Vidal Batista - 129 Boa qualidade: resolução abaixo de 5 M pixels /cm2 (em 2012 ) • Canon EOS 5D Mark III: 22 M pixels /(3,6cm x2,4cm) = 2,5 M pixels/cm2 • Canon 60D: 18 M pixels/(2,23cm x1,49cm) = 5,4 M pixels/cm2 • Nikon CoolPix P7100: 10M pixels /(0,76cm x 0,57cm) = 23 M pixels/cm2 • Sony Cyber-shot DSC-TX100V: 16,2 M pixels / (0,617 x 0,455 cm) = 57 M pixels/cm2 28/09/2014 Leonardo Vidal Batista - 130 Exemplo: Sony DSC V1: 1944 x 2592 pixels = 5Mpixels. Digitalizar papel em formato carta com imagem da folha ocupando todo o sensor. Resolução (em dpi)? Comparar com scanner de 300 x 300 dpi, em qualidade, número de sensores e preço. Comparar com scanner de 2400 x 2400 dpi. 28/09/2014 Leonardo Vidal Batista - 131 Solução: 1944 / 8,5 pol x 2592/11 pol = 228,7 dpi x = 235,6 dpi Resolução espacial inferior à do scanner de 300 x 300 dpi, com 1944 x 2592 x 3 / 7650 = 1976 vezes mais sensores, mais cara, aberrações geométricas e de cor, etc. Câmeras digitais têm escopo de aplicação maior e são mais rápidas Scanner de 2400 x 2400 dpi = câmera de 500 Mpixels! 28/09/2014 Leonardo Vidal Batista - 132 Exemplo: câmera digital, 2000 x 3000 pontos (6 Mpixels), foto impressa em formato 10x15 cm, com o mesmo no. de pontos. Qual a resolução (dpi) no papel? 10x15 cm = 3,94 x 5,91 pol. Resolução (dpi): 3000/5,91 = 2000/3,94 = 507x507 dpi 28/09/2014 Leonardo Vidal Batista - 133 Ex: foto 10x15cm, scanneada a 1200x1200 dpi, 24 bits/pixel. Tamanho em bytes? Dimensões impressa em 1440x1440 dpi? Dimensões impressa em 720 x 720 dpi? Dimensões em tela de 14 pol., resolução 1024x768? Resolução em dpi da tela? Dimensões em tela de 17 pol., resolução 1024x768? Resolução em dpi da tela? 28/09/2014 Leonardo Vidal Batista - 134 Solução: Foto 10x15cm = 3,94 x 5,91 pol. Tamanho em bytes: 3,94x1200 x 5,91x1200 pixels x 3 bytes/pixel = 4728 x 7092 x 3 = 100 milhões de bytes (96 MB) Dimensões (pol) em impressora de 1440x1440 dpi: 4728/1440 x 7092/1440 = 3,3 x 4,9 pol. Dimensões (pol.) em impressora de 720 x 720 dpi = 6,6 x 9,9 pol 28/09/2014 Leonardo Vidal Batista - 135 Solução: Dimensões em tela de 14 pol., em resolução de 1024x768 pontos? Resolução em dpi da tela? x2 + y2 = 142 x/y = 3/4 x = 8,4 pol; y = 11,2 pol. Res. = 1024/11,2 x 768/8,4 = 91,4 x 91,4 dpi. Dimensões = 4728 / 91,4 x 7092 / 91,4 =51,73 x 77,59 pol = 131,39 x 197,09cm (apenas parte da imagem será visível) 28/09/2014 Leonardo Vidal Batista - 136 Solução: Dimensões em tela de 17 pol., em resolução de 1024x768 pontos? Resolução em dpi da tela? y = 13,6 pol; x = 10,2 pol Res. = 1024/13,6 x 768/10,2 = 75,3 x 75, 3 dpi (pior que no monitor de 14 pol) Dimensões = 4728 / 75,3,4 x 7092 / 75,3 =62,79 x 94,18 pol = 159,49 x 239,22cm (apenas parte da imagem será visível) 28/09/2014 Leonardo Vidal Batista - 137 A e C: Placas aceleradoras e defletoras D: tela com pontos de fósforos RGB F: Máscara de sombra ou grade de abertura 28/09/2014 Leonardo Vidal Batista - 138 28/09/2014 Leonardo Vidal Batista - 139 28/09/2014 Leonardo Vidal Batista - 140 28/09/2014 Leonardo Vidal Batista - 141 28/09/2014 Leonardo Vidal Batista - 142 28/09/2014 Leonardo Vidal Batista - 143 28/09/2014 Leonardo Vidal Batista - 144 Linha 0 Linha 1 Linha R-1 Espaço / freqüência Locais / pontuais Unárias / binárias / ... / n-árias 28/09/2014 Leonardo Vidal Batista - 145 Operação T sobre n imagens, f1, f2, ..., fn, produzindo uma imagem de saída g g = T[f1, f2, ..., fn] Operações binárias: n = 2 Operações unárias ou filtros: n = 1 g = T[f] 28/09/2014 Leonardo Vidal Batista - 146 g(i, j) depende do valor do pixel nas coordenadas (i’, j’) das imagens de entrada 28/09/2014 Leonardo Vidal Batista - 147 j’ i’ j i T Se (i, j) = (i’, j’) e operação unária: s = T(r) r, s: nível de cinza de f, g em (i, j) 28/09/2014 Leonardo Vidal Batista - 148 m (0,0) (0,0) m r r s s Aumento de Contraste Limiarização ou binarização 28/09/2014 Leonardo Vidal Batista - 149 28/09/2014 Leonardo Vidal Batista - 150 28/09/2014 Leonardo Vidal Batista - 151 (0,0) r s L-1 L-1 (0,0) r s L-1 L-1 (r1, s1) (r2, s2) 28/09/2014 Leonardo Vidal Batista - 152 28/09/2014 Leonardo Vidal Batista - 153 g(i, j) depende dos valores dos pixels das imagens de entrada em uma vizinhança de (i’, j’) 28/09/2014 Leonardo Vidal Batista - 154 i’ j’ Vizinhança de (i, j) i j f g 28/09/2014 Leonardo Vidal Batista - 155 Filtro Média, ou Box Operação sobre pixels da imagem original: resultado do filtro em um dado pixel não altera o resultado em outros pixels. Primeira e última coluna/linha? 28/09/2014 Leonardo Vidal Batista - 156 )]1,1(),1()1,1( )1,(),()1,( )1,1(),1()1,1([ 9 1 ),( jifjifjif jifjifjif jifjifjifjig Kernel 28/09/2014 Leonardo Vidal Batista - 157 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 28/09/2014 Leonardo Vidal Batista - 158 7x7 15x15 28/09/2014 Leonardo Vidal Batista - 159 49x49 Média ponderada, moda, mediana, gaussiano (média ponderada específica)... Vizinhança m x n 28/09/2014 Leonardo Vidal Batista - 160 Mediana 7x7 Gaussiano 15x15 Kernel 28/09/2014 Leonardo Vidal Batista - 161 28/09/2014 Leonardo Vidal Batista - 162 28/09/2014 Leonardo Vidal Batista - 163 28/09/2014 Leonardo Vidal Batista - 164 28/09/2014 Leonardo Vidal Batista - 165 28/09/2014 Leonardo Vidal Batista - 166 28/09/2014 Leonardo Vidal Batista - 167 Efeito contrário ao de suavização: acentuam variações de intensidade entre pixels adjacentes Baseados no gradiente de funções bidimensionais. Gradiente de f(x, y): 28/09/2014 Leonardo Vidal Batista - 168 y f x f yxfG )],([ 2/122 )],([ y f x f yxfG g(i, j): aproximação discreta do módulo do vetor gradiente em f(i, j). Aproximações usuais: • g(i, j) = {[f(i,j)-f(i+1,j)]2 + [f(i,j)-f(i,j+1)]2}1/2 • g(i, j) = |f(i,j)-f(i+1,j)| + |f(i,j)-f(i,j+1)| Gradiente de Roberts: • g(i,j) = {[f(i,j)-f(i+1,j+1)]2+[f(i+1,j)-f(i,j+1)]2}1/2 • g(i, j) = |f(i,j)-f(i+1,j+1)| + |f(i+1,j)-f(i,j+1)| 28/09/2014 Leonardo Vidal Batista - 169 Gradiente de Prewitt: • g(i, j) = |f(i+1,j-1) + f(i+1, j) + f(i+1, j+1) + - f(i-1, j-1) - f(i-1, j) - f(i-1, j+1)| + +|f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) + - f(i-1, j-1) - f(i, j-1) - f(i+1, j-1)| Gradiente de Sobel: • g(i, j) = |f(i+1, j-1) + 2f(i+1, j) + f(i+1, j+1) + - f(i-1, j-1) - 2f(i-1, j) - f(i-1, j+1)| + + |f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) + - f(i-1, j-1) - 2f(i, j-1) - f(i+1, j-1)| 28/09/2014 Leonardo Vidal Batista - 170 28/09/2014 Leonardo Vidal Batista - 171 Limiares 15, 30 e 60 28/09/2014 Leonardo Vidal Batista - 172 Prewitt Canny Roberts Sobel LoG Se o nível de cinza l ocorre nl vezes em imagem com n pixels, então Histograma da imagem é uma representação gráfica de nl ou P(l) 28/09/2014 Leonardo Vidal Batista - 173 n n lP l)( Leonardo Vidal Batista - 174 3 3 Histograma Imagem l nl 7 6 5 4 3 2 1 0 3 2 1 0 0 0 1 3 3 3 0 0 3 3 1 1 1 Imagem 3 x 5 (L = 4) e seu histograma O histograma representa a distribuição estatística de níveis de cinza de uma imagem 28/09/2014 Leonardo Vidal Batista - 175 l nl 255 0 l nl 255 0 l nl 255 0 28/09/2014 Leonardo Vidal Batista - 176 0 50 100 150 200 250 0 2000 4000 6000 8000 10000 28/09/2014 Leonardo Vidal Batista - 177 0 50 100 150 200 250 0 500 1000 1500 Faixa reduzida de níveis de cinza: expansão de histograma pode produzir uma imagem mais rica visualmente. 28/09/2014 Leonardo Vidal Batista - 178 l nl L-1 m0=0 l nl L-1 0 l nl m1=L-1 0 m0 m1 A B C m1 m0 28/09/2014 Leonardo Vidal Batista - 179 )1()( minmax min L rr rr roundrTs 28/09/2014 Leonardo Vidal Batista - 180 0 50 100 150 200 250 0 500 1000 1500 0 50 100 150 200 250 0 500 1000 1500 Expansão é ineficaz nos seguintes casos: 28/09/2014 Leonardo Vidal Batista - 181 l nl L-1 0 l nl L-1 0 l nl L-1 0 m0 m1 A B C L-1 Se a imagem apresenta pixels de valor 0 e L-1 (ou próximos a esses extremos) a expansão de histograma é ineficaz. Nestas situações a equalização de histograma pode produzir bons resultados. O objetivo da equalização de histograma é gerar uma imagem com uma distribuição de níveis de cinza uniforme. 28/09/2014 Leonardo Vidal Batista - 182 28/09/2014 Leonardo Vidal Batista - 183 r l ln RC L roundrTs 0 1 )( 0 50 100 150 200 250 0 500 1000 1500 0 50 100 150 200 250 0 500 1000 1500 Exemplo: imagem 64 x 64, L = 8 28/09/2014 Leonardo Vidal Batista - 184 l nl 0 790 1 1023 2 850 3 656 4 329 5 245 6 122 7 81 l nl 1200 1000 800 600 400 200 0 7 6 5 4 3 2 1 0 Exemplo (cont.): r = 0 s = round(790 x 7 / 4096) = 1 r = 1 s = round(1813 x 7 / 4096) = 3 r = 2 s = round(2663 x 7 / 4096) = 5 r = 3 s = round(3319 x 7 / 4096) = 6 r = 4 s = round(3648 x 7 / 4096) = 6 r = 5 s = round(3893 x 7 / 4096) = 7 r = 6 s = round(4015 x 7 / 4096) = 7 r = 7 s = round(4096 x 7 / 4096) = 7 28/09/2014 Leonardo Vidal Batista - 185 Exemplo: imagem 64 x 64, L = 8 28/09/2014 Leonardo Vidal Batista - 186 l nl 0 0 1 790 2 0 3 1023 4 0 5 850 6 985 7 448 k nk 1200 1000 800 600 400 200 0 7 6 5 4 3 2 1 0 28/09/2014 Leonardo Vidal Batista - 187 l nl L-1 0 l nl L-1 0 l nl L-1 0 m0 m1 Hist. Original Hist. Equal. (Ideal) L-1 Hist. Equal. (Real) Expansão de histograma é pontual ou local? E equalização de histograma? O que ocorre quando uma imagem com um único nível passa pela operação de equalização de histograma? Melhor fazer equalização seguido por expansão de histograma, o inverso, ou a ordem não importa? 28/09/2014 Leonardo Vidal Batista - 188 Para cada locação (i,j) de f • Calcular histograma na vizinhança de (i,j) • Calcular s = T(r) para equalização de histograma na vizinhança • G(i,j) = s 28/09/2014 Leonardo Vidal Batista - 189 28/09/2014 Leonardo Vidal Batista - 190 0),();,( 0),()];,(),([ ),( ),( ),( jijif jijijif ji c ji jig Leonardo Vidal Batista - 191 Nível de cinza R G B 0 15 20 30 1 15 25 40 ... L-1 200 0 0 28/09/2014 Leonardo Vidal Batista - 192 Curtose, máximo, mínimo etc. Filtros de suavização + filtros de aguçamento Laplaciano do Gaussiano (LoG) “Emboss” Aumento de saturação Correção de gama ... 28/09/2014 Leonardo Vidal Batista - 193 Filtro linear: • T [af1 + bf2] = aT [f1] + bT [f2], para constantes arbitrárias a e b. Filtro invariante ao deslocamento: • Se g[i, j] = T [f[i, j]] então g[i - a, j – b] = T [f[i - a, j – b]]. Se i e j são coordenadas espaciais: filtros espacialmente invariantes. 28/09/2014 Leonardo Vidal Batista - 194 Convolução de s(t) e h(t): 28/09/2014 Leonardo Vidal Batista - 195 dthsthtstg )()()(*)()( 28/09/2014 Leonardo Vidal Batista - 196 dthsthtstg )()()(*)()( t2 t3 )(h 0 -t2 -t3 0 )( h -t2+t -t3+t )( th t0 t1 (0,0) s(t) t Observe que g(t) = 0 para 28/09/2014 Leonardo Vidal Batista - 197 ][ 3120 t, t ttt Convolução linear entre s[n] e h[n] 28/09/2014 Leonardo Vidal Batista - 198 ][][][*][][ nhsnhnsng 28/09/2014 Leonardo Vidal Batista - 199 ][][][*][][ nhsnhnsng 0...0.000... ...]3[]1[]2[]0[]1[]1[]0[]2[...]2[][]2[ x hshshshshsg 0...0000... ...]2[]1[]1[]0[]0[]1[]1[]2[...]1[][]1[ xx hshshshshsg n 0 1 2 3 4 5 6 s[n] 1 2 3 4 5 2 1 h[n] 3 2 1 0 1 2 28/09/2014 Leonardo Vidal Batista - 200 ][][][*][][ nhsnhnsng 3...023100... ...]1[]1[]0[]0[]1[]1[...][][]0[ xxx hshshshsg 8...00322100 ]...1[]2[]0[]1[]1[]0[]2[]1[...]1[][]1[ xxxx hshshshshsg n 0 1 2 3 4 5 6 s[n] 1 2 3 4 5 2 1 h[n] 3 2 1 0 1 2 28/09/2014 Leonardo Vidal Batista - 201 ][][][*][][ nhsnhnsng 12...0001122500...]2[]7[]3[]6[]4[]5[ ]5[]4[]6[]3[]7[]2[]8[]1[]9[]0[...]9[][]9[ xxxxxhshshs hshshshshshsg n 0 1 2 3 4 5 6 s[n] 1 2 3 4 5 2 1 h[n] 3 2 1 0 1 2 5...1000112200 ...]3[]7[]4[]6[]5[]5[]6[]4[...]10[][]10[ xxxxx hshshshshsg 28/09/2014 Leonardo Vidal Batista - 202 ][][][*][][ nhsnhnsng 2...002100 ...]4[]7[]5[]6[]6[]5[...]11[][]11[ xxx hshshshsg n 0 1 2 3 4 5 6 s[n] 1 2 3 4 5 2 1 h[n] 3 2 1 0 1 2 0...000000 ...]5[]7[]6[]6[]7[]5[...]12[][]12[ xxx hshshshsg 28/09/2014 Leonardo Vidal Batista - 203 a b c d A B C D E 0 1 2 ... m -1 n h[n] s[n] g[n]=s[n]*h[n], em n=m? F G H I 28/09/2014 Leonardo Vidal Batista - 204 c b a d A B C D E 0 1 2 ... m -1 -2 F G H I 28/09/2014 Leonardo Vidal Batista - 205 c b a d A B C D E 0 1 2 ... m -1 0 F g[m]=d.E+c.F+b.G+a.H G H I 28/09/2014 Leonardo Vidal Batista - 206 0 1 2 3 4 5 6 2 4 6 )(s 0 1 2 3 4 5 2 4 6 )(h 0 -1 2 4 6 -2 -3 -4 1 -5 )( h 2 4 6 n )( nh g[0] = 3 28/09/2014 Leonardo Vidal Batista - 207 0 1 2 3 4 5 6 2 4 6 )(s 0 -1 2 4 6 -2 -3 -4 1 -5 )( h g[1] = 8 28/09/2014 Leonardo Vidal Batista - 208 0 1 2 3 4 5 6 2 4 6 )(s 0 -1 2 4 6 -2 -3 -4 1 -5 )1( h 28/09/2014 Leonardo Vidal Batista - 209 0 1 2 3 4 5 6 2 4 6 s[n] n 0 1 2 3 4 5 2 4 6 h[n] n 0 1 2 3 4 5 6 7 8 9 10 11 10 20 30 g[n] = s[n]* h[n] n 28/09/2014 Leonardo Vidal Batista - 210 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] 1/3 1/3 1/3 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] -1 0 1 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] -1 0 1 28/09/2014 Leonardo Vidal Batista - 211 n -1 0 1 2 3 4 5 6 7 8 s[n] 2 2 2 2 200 200 200 200 h[n] 1/3 1/3 1/3 n -1 0 1 2 3 4 5 6 7 8 s[n] 3 2 101 101 101 200 200 102 h[n] -1 0 1 n -1 0 1 2 3 4 5 6 7 8 s[n] 2 1 100 100 1 100 100 2 h[n] -1 0 1 Operador Convolução: g = Th(s) = s*h Th(a.s) = a.g 28/09/2014 Leonardo Vidal Batista - 212 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] 1/3 1/3 1/3 g[n] 0.33 0.67 1 1 34 67 100 100 66,67 33,33 n -1 0 1 2 3 4 5 6 7 8 s[n] 2 2 2 2 200 200 200 200 h[n] 1/3 1/3 1/3 g[n] 0.67 1.33 2 2 68 134 200 200 133,3 66,67 28/09/2014 Leonardo Vidal Batista - 213 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] -1 0 1 g[n] -1 -1 0 0 -99 -99 0 0 100 100 n -1 0 1 2 3 4 5 6 7 8 s[n] 2 1 100 100 1 100 100 2 h[n] -1 0 1 g[n] -2 -1 -98 -99 99 0 -99 98 100 2 n -1 0 1 2 3 4 5 6 7 8 s[n] 3 2 101 101 101 200 200 102 h[n] -1 0 1 g[n] -3 -2 -98 -99 0 -99 -99 98 200 102 g1 = Th(s1) = s1*h g2 = Th(s2) = s2*h Th(s1+s2) = g1+g2 Como Th(a.s) = a.g, convolução é uma operação linear 28/09/2014 Leonardo Vidal Batista - 214 28/09/2014 Leonardo Vidal Batista - 215 n -1 0 1 2 3 4 5 6 7 8 s[n] 1 1 1 1 100 100 100 100 h[n] -1 0 1 g[n] -1 -1 0 0 -99 -99 0 0 100 100 n -1 0 1 2 3 4 5 6 7 8 9 s[n] 1 1 1 1 100 100 100 100 h[n] -1 0 1 g[n] -1 -1 0 0 -99 -99 0 0 100 100 g [n]= Th(s[n]) = s[n]*h[n] Th(s[n-c]) = g[n-c] 28/09/2014 Leonardo Vidal Batista - 216 Matlab: s=[1 1 1 1 100 100 100 100]; h = [1/3 1/3 1/3]; conv(s,h) ans = Columns 1 through 6 0.3333 0.6667 1.0000 1.0000 34.0000 67.0000 Columns 7 through 10 100.0000 100.0000 66.6667 33.3333 28/09/2014 Leonardo Vidal Batista - 217 g[n]: resposta do filtro a s[n] 28/09/2014 Leonardo Vidal Batista - 218 Filtro Th h[n] s[n] g[n] ][][][*][][ nhsnhnsng f[i, j] e h[i, j], extensão por zeros 28/09/2014 Leonardo Vidal Batista - 219 ],[],[],[*],[],[ jihfjihjifjig Rebatimento de h 28/09/2014 Leonardo Vidal Batista - 220 a b c d e f g h i j k l m n o p 0 0 p o n m l k j i h g f e d c b a 0 0 28/09/2014 Leonardo Vidal Batista - 221 Fonte: https://developer.apple.com/library/mac/#documentation/Performance/Conceptual/vImage/ConvolutionOperations/ConvolutionOperations.html 1 1 1 0 0 0 -1 -1 -1 28/09/2014 Leonardo Vidal Batista - 222 1 0 -1 1 0 -1 1 0 -1 -1 -1 -1 -1 8 -1 -1 -1 -1 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0.025 0.1 0.025 0.1 0.5 0.1 0.025 0.1 0.025 Filtragem sucessiva com cada máscara Pixel de saída recebe o valor máximo 28/09/2014 Leonardo Vidal Batista - 223 5 5 5 -3 0 -3 -3 -3 -3 -3 5 5 -3 0 5 -3 -3 -3 -3 -3 5 -3 0 5 -3 -3 5 -3 -3 -3 -3 0 5 -3 5 5 -3 -3 -3 -3 0 -3 5 5 5 -3 -3 -3 5 0 -3 5 5 -3 5 -3 -3 5 0 -3 5 -3 -3 5 5 -3 5 0 -3 -3 -3 -3 Em geral • Máscaras de integração (filtros de suavização) somam para 1 • Máscaras de diferenciação (filtros de detecção ou realce de bordas) somam para 0 MATLAB: conv2(s,h) 28/09/2014 Leonardo Vidal Batista - 224 Função gaussiana, ou normal 28/09/2014 Leonardo Vidal Batista - 225 2 2 2 )( 2 1 )( x exG Plotar curva gaussiana no Matlab • mi=2; • sigma = 1; • x=mi-3*sigma:0.1:mi+3*sigma; • g = (1/(sqrt(2*pi)*sigma))*exp(-((x- mi).^2)/(2*sigma*sigma)); • plot(x,g) Amostrar e normalizar curva gaussiana no Matlab • mi= 0; • xi=mi-3*sigma:mi+3*sigma; • gi = (1/(sqrt(2*pi)*sigma))*exp(-((xi- mi).^2)/(2*sigma*sigma)); • gi = gi/sum(gi) 28/09/2014 Leonardo Vidal Batista - 226 Amostrar gaussiana de -3 dp a 3 dp ... G[-3]=0.0044, G[-2]= 0.0540, G[-1]=0.2420, G[0]=0.3989, G[1]=0.2420, G[2]=0.0540, G[3]= 0.0044... 28/09/2014 Leonardo Vidal Batista - 227 Amostrar de -3dp a 3dp (ou de -5dp a 5dp) • hp[n] = [0.0044, 0.0540, 0.2420, 0.3989, 0.2420, 0.0540, 0.0044] Normalizar para soma = 1 • sum(hp) = 0,9997 • h[n] = hp[n]/ sum(hp) • h[n] =[ 0.0044, 0.0540, 0.2420, 0.3991, 0.2420, 0.0540 0.0044] 28/09/2014 Leonardo Vidal Batista - 228 Função gaussiana 2D, de média 0 Amostrar de -3dp a 3dp (ou de -5dp a 5dp), em x e em y Normalizar para soma = 1 28/09/2014 Leonardo Vidal Batista - 229 2 22 2 22 1 ),( yx eyxG Função gaussiana 2D, de média 0 28/09/2014 Leonardo Vidal Batista - 230 28/09/2014 Leonardo Vidal Batista - 231 Função gaussiana: Derivada: Derivada segunda: 28/09/2014 Leonardo Vidal Batista - 232 Gaussiana, derivada e derivada segunda Delta de Dirac ou impulso unitário contínuo • Duração = 0 • Área = 1 Delta de Kronecker ou impulso unitário discreto 28/09/2014 Leonardo Vidal Batista - 233 1 (t) 0 t 1 [n] n 0 Delta de Kronecker deslocado e com fator de escala Exemplo: 28/09/2014 Leonardo Vidal Batista - 234 A A[n-n0] n0 0 n 1 0, 6, 6, 3,][ ns ]4[1]3[0]2[6]1[6][3][ nnnnnns Delta de Kronecker deslocado e com fator de escala 28/09/2014 Leonardo Vidal Batista - 235 A A[n-n0] n0 0 n )]1([]1[....]1[]1[][]0[][ NnNsnsnsns 1 0 ][][][ N nsns Resposta de um filtro a s[n]: Resposta de um filtro ao impulso 28/09/2014 Leonardo Vidal Batista - 236 1 0 ][][][ N nhsng 1 0 ][][][ N nhng ][nh h[n]: • Resposta ao impulso • Máscara convolucional • Kernel do filtro • Vetor de coeficientes do filtro 28/09/2014 Leonardo Vidal Batista - 237 28/09/2014 Leonardo Vidal Batista - 238 Finite Impulse Response 1 0 ][][ N k k knxany ][khak 28/09/2014 Leonardo Vidal Batista - 239 Infinite Impulse Response 1 1 1 0 ][][][ M k k N k k knybknxany Filtros recursivos 28/09/2014 Leonardo Vidal Batista - 240 Encontre a resposta ao impulso do seguinte sistema recursivo. Supor que o sistema está originalmente relaxado (y[n] = 0 para n < 0) y[n] = x[n] - x[n-1] – 0,5y[n-1] 28/09/2014 Leonardo Vidal Batista - 241 Exemplo: y[n] = x[n] - x[n-1] – 0,5y[n-1] y[0] = delta[0]–delta[-1]–0,5y[-1] = 1 y[1] = delta[1]–delta[0]–0,5y[0] = -1,5 y[2] = delta[2]–delta[1]–0,5y[1] = 0,75 y[3]= delta[3]–delta[2]–0,5y[2] = -0,325 y[n] = -0,5y[n-1], n > 1 28/09/2014 Leonardo Vidal Batista - 242 Exemplo: encontre a resposta ao impulso do seguinte sistema recursivo. Supor que o sistema está originalmente relaxado (y[n] = 0 para n < 0) y[n] - y[n-1] = x[n] - x[n-4] 28/09/2014 Leonardo Vidal Batista - 243 Exemplo (Solução) y[n] = y[n-1] + x[n] - x[n-4] y[0] = y[-1] + delta[0] - delta[-4] = 1 y[1] = y[0] + delta[1] - delta[-3] = 1 y[2] = y[1] + delta[2] - delta[-2] = 1 y[3] = y[2] + delta[3] - delta[-1] = 1 y[4] = y[3] + delta[4] - delta[0] = 0 y[5] = y[4] + delta[5] - delta[1] = 0 y[6] = y[7] = ... = 0 Sinais s[n] e h[n] com N0 e N1 amostras, respectivamente => extensão com zeros: 28/09/2014 Leonardo Vidal Batista - 244 NnN Nnns nse 0 0 ,0 0 ],[ ][ NnN Nnnh nhe 1 1 ,0 0 ],[ ][ Extensão periódica: considera-se que se[n] e he[n] são períodos de sp[n] e hp[n] Convolução circular: 1 0 ][][][][][ N ppp nhsnhnsng Fazendo-se N = N0 + N1 – 1 28/09/2014 Leonardo Vidal Batista - 245 ][*][][][ nhnsnhns 28/09/2014 Leonardo Vidal Batista - 246 Transformada z de x[n]: n n znxzXnxZ ][][]}[{ z: variável complexa 28/09/2014 Leonardo Vidal Batista - 247 Linearidade: Se x[n] = ax1[n] + bx2[n], (a e b: constantes arbitrárias), então: ][][][ 21 zbXzaXzX 28/09/2014 Leonardo Vidal Batista - 248 Deslocamento: Z{x[n+k]} = zkX[z], k inteiro Prova: n nzknxknxZ ][]}[{ Fazendo m = n+k: m knk m kn zXzzmxzzmxknxZ ][][][]}[{ )( 28/09/2014 Leonardo Vidal Batista - 249 Convolução: Se h[n] é a resposta ao impulso de um filtro, H[z] é a função de transferência do filtro ][][][][][][*][][ zXzHzYknxkhnxnhny k 28/09/2014 Leonardo Vidal Batista - 250 Convolução (Prova) n n k zknxkhnxnhZ ][][]}[*][{ k n n zknxkh ][][ k n n k znxzkh ][][ ][][ zXzH 28/09/2014 Leonardo Vidal Batista - 251 Equação de diferenças de um filtro 1 ][][ ][][][ 0 1 0 1 0 1 1 1 0 b knxaknyb knybknxany N k k M k k M k k N k k 28/09/2014 Leonardo Vidal Batista - 252 Transformada Z da Equação de diferenças 1 0 1 0 1 0 1 0 1 0 1 0 ][][ }][{]}[{ ][][ N k k k M k k k N k k M k k N k k M k k zXzazYzb knxZaknyZb knxaZknybZ 28/09/2014 Leonardo Vidal Batista - 253 Aplicando a transformada z em ambos os lados e simplificando: k M k k k N k k zb za zX zY zH 1 1 1 0 1 ][ ][ ][ Pólos: raízes do denominador Zeros: raízes do numerador Pólos e zeros: estabilidade 28/09/2014 Leonardo Vidal Batista - 254 BIBO: Bounded-input, bounded- output Sistemas BIBO-estáveis: sistemas causais tais que: 0 |][| k kh 28/09/2014 Leonardo Vidal Batista - 255 Resposta em freq. a partir de H[z] 1 0 2 ][ 1 ][ N n N unj ens N uF Comparar com 20 ,][][ ][][ n jnj n n enheH znhzH 28/09/2014 Leonardo Vidal Batista - 256 Exemplo: encontre a resposta em freqüência do filtro y[n] = (x[n] + x[n-1])/2 utilizando a transformada Z Y[z] = (X[z] + z-1X[z] )/2 = X[z](1+z-1)/2 H[z] = (1+z-1)/2 H[ejw] = (1+e-jw)/2 = e-jw/2 (ejw/2 + e-jw/2)/2 = e-jw/2cos(w/2) |H[ejw]| = cos(w/2), -pi< w < pi 28/09/2014 Leonardo Vidal Batista - 257 Exemplo: encontre a resposta em freqüência do filtro y[n] = (x[n] - x[n-1])/2 utilizando a transformada Z Y[z] = (X[z] - z-1X[z] )/2 = X[z](1-z-1)/2 H[z] = (1-z-1)/2 H[ejw] = (1-e-jw)/2 = e-jw/2 (ejw/2 - e-jw/2)/2 = je-jw/2sen(w/2) |H[ejw]| = |sen(w/2)|, -pi< w < pi Convolução: Correlação: 28/09/2014 Leonardo Vidal Batista - 258 ][][][*][][ nhsnhnsng ][][][][][ nhsnhnsng Exemplo • h[-1] = 3; h[0] = 7; h[1] = 5; • s[0..15] = {3, 2, 4, 1, 3, 8, 4, 0, 3, 8, 0, 7, 7, 7, 1, 2} Extensão com zeros 28/09/2014 Leonardo Vidal Batista - 259 Exemplo: 28/09/2014 Leonardo Vidal Batista - 260 ... 39]1[]3[]0[]2[]1[]1[]2[][]2[ 43]1[]2[]0[]1[]1[]0[]1[][]1[ 31]1[]1[]0[]0[][][]0[ 15]1[]0[]1[ 3 1 2 0 1 0 hshshshsg hshshshsg hshshsg hsg Exemplo (cont.) g[0..15] = 31, 43, 39, 34, 64, 85, 52, 27, 61, 65, 59, 84, 105, 75, 38, 27 Observe que g[5] é elevado, pois é obtido centrando h em s[5] e calculando a correlação entre (3, 7, 5) e (3, 8, 4) Mas g[12] é ainda maior, devido aos valores elevados de s[11], s[12], s[13] 28/09/2014 Leonardo Vidal Batista - 261 A correlação normalizada elimina a dependência dos valores absolutos dos sinais s[n]: imagem; “sn barra” é a média da imagem na região sob a máscara; h é o kernel e “h barra” é a média do kernel. 28/09/2014 Leonardo Vidal Batista - 262 22 )][()][( )][)(][( ][][][ hnhss hnhss nhnsng n n 28/09/2014 Leonardo Vidal Batista - 263 Fonte: http://www.dspguide.com/ch7/3.htm Gaivota, “filtro casado” (olho) e imagem de correlação normalizada (máximo no olho) 28/09/2014 Leonardo Vidal Batista - 264 Fonte: http://www.dca.fee.unicamp.br/dipcourse/html-dip/c6/s5/front-page.html O cálculo direto do espectro de amplitudes e fases não é fidedigno 28/09/2014 Leonardo Vidal Batista - 265 O espectro pode variar muito em diferentes seções de um mesmo sinal. O problema pode ser causado por ruído, escassez de dados, comportamento não estacionário etc. Variância é um indicador de qualidade O quadrado do módulo do espectro de amplitudes: densidade espectral de potência (PSD), ou espectro de potência 28/09/2014 Leonardo Vidal Batista - 266 Resolução espectral diminui Variância se reduz por fator K1/2 Periodograma: dividir sinal em K seções adjacentes (com ou sem intersecção) de mesmo tamanho; obter PSD de cada seção; obter média das PSDs Todo sinal discreto obtido a partir de um sinal analógico é resultado da multiplicação de um sinal discreto de duração infinita por um pulso, ou janela, retangular: 28/09/2014 Leonardo Vidal Batista - 267 contrário caso 0 0 1 Nn wn A janela retangular pode gerar grandes descontinuidades na forma de onda original 28/09/2014 Leonardo Vidal Batista - 268 Multiplicação no tempo equivale a convolução na freqüência (Fourier) 28/09/2014 Leonardo Vidal Batista - 269 DFT da janela retangular: função sinc (sine cardinal, kernel de Dirichlet, função de amostragem): contrário caso sen 0 1 )(sinc x x x x A convolução com um sinc introduz distorções no espectro 28/09/2014 Leonardo Vidal Batista - 270 Janelas mais “suaves” reduzem estas distorções, mas distorcem mais as amostras centrais-> Compromisso Dezenas dessas janelas tem sido avaliadas e utilizadas em diversas aplicações 28/09/2014 Leonardo Vidal Batista - 271 contrário caso 0 Nn0 1 2 cos46,054,0 N n wn Seno multiplicado por janela retangular e de Hamming 28/09/2014 Leonardo Vidal Batista - 272 DFT de seno multiplicado por janela retangular e de Hamming 28/09/2014 Leonardo Vidal Batista - 273 Blackman-Harris, Dolph-Chebyshev, Kaiser- Bessel (superiores?) 28/09/2014 Leonardo Vidal Batista - 274 Tukey, Poisson, Hanning etc ht(i, j)= (1 - t) f(i, j) + t g(i, j) t é um escalar no intervalo [0, 1] 28/09/2014 Leonardo Vidal Batista - 275 28/09/2014 Leonardo Vidal Batista - 276 t = 0,3 t = 0,5 t = 0,7 ht(i, j)= [1 - t(i, j)] f(i, j) + t(i, j) g(i, j) t é uma matriz com as mesmas dimensões de f e g cujos elementos assumem valores no intervalo [0, 1] 28/09/2014 Leonardo Vidal Batista - 277 t(i,j)=(i+j)/(R+C-2) t(i,j)=j/(C-1) t(i,j)=i/(R-1) 28/09/2014 Leonardo Vidal Batista - 278 28/09/2014 Leonardo Vidal Batista - 279 contrario caso ,0 || se ,1 21 tLffL g f1 f2 g f[i, j] imagem sem ruído nk(i, j) ruído de média m gk[i,j] = f[i,j] + nk(i,j) 28/09/2014 Leonardo Vidal Batista - 280 M k k jig M jig 1 ],[ 1 ],[ Para M grande: 28/09/2014 Leonardo Vidal Batista - 281 )),(],[( 1 ],[ 1 jinjif M jig k M k M k k jin M jifjig 1 ),( 1 ],[],[ mjifjig ],[],[ Rígidas • Translação • Rebatimento • Rotação • Mudança de Escala Não rígidas (Warping) 28/09/2014 Leonardo Vidal Batista - 282 Rotação em torno de (ic, jc) 28/09/2014 Leonardo Vidal Batista - 283 ccc ccc jjjiij ijjiii cos)(sen)(' sen)(cos)(' Rotação de -30o 28/09/2014 Leonardo Vidal Batista - 284 28/09/2014 Leonardo Vidal Batista - 285 Imagem original Rebatimento pela diagonal Rotação de -90o em torno de (R/2,C/2) Por replicação de pixels 28/09/2014 Leonardo Vidal Batista - 286 10 10 20 30 10 10 20 30 Original Ampliação por fator 3 Por replicação de pixels 28/09/2014 Leonardo Vidal Batista - 287 10 10 20 30 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 30 30 30 20 20 20 30 30 30 20 20 20 30 30 30 Original Ampliação por fator 3 Por interpolação bilinear 28/09/2014 Leonardo Vidal Batista - 288 10 10 20 30 10 10 20 30 Original Ampliação por fator 3 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 Por interpolação bilinear 28/09/2014 Leonardo Vidal Batista - 289 10 10 20 30 10 10 10 10 10 10 20 23 27 30 33 37 Original Ampliação por fator 3 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 Por interpolação bilinear 28/09/2014 Leonardo Vidal Batista - 290 10 10 20 30 10 10 10 10 10 10 20 23 27 30 33 37 Original Ampliação por fator 3 Interpolação nas colunas Passos de níveis de cinza: 10 a 20: (20-10)/3 = 3,3 10 a 23: (23-10)/3 = 4,3 10 a 27: (27-10)/3 = 5,7 ... 13 17 23 27 14 19 27 32 16 21 33 38 17 23 37 43 18 25 41 48 19 28 46 55 Exemplo: Ampliação por fator 10 28/09/2014 Leonardo Vidal Batista - 291 Original Replicação Interpolação Por eliminação de pixel Por Média 28/09/2014 Leonardo Vidal Batista - 292 14 18 28 41 10 10 10 10 10 10 13 16 14 17 18 19 17 19 21 23 25 28 20 23 27 30 33 37 23 27 33 37 41 46 27 32 38 43 48 55 Original Redução por fator 3 Zoom por fatores não inteiros Ex: F = 3,75432 Operações elásticas, etc. Técnicas mais avançadas devem ser utilizadas Uma dessas técnicas é a reconstrução de imagens 28/09/2014 Leonardo Vidal Batista - 293 Dados f(i0,j0), f(i0,j0+1), f(i0+1,j0), f(i0+1,j0+1) Reconstrução: Encontrar f(x,y), x em [i0, i0+1] y em [j0, j0+1] 28/09/2014 Leonardo Vidal Batista - 294 (i0, j0) (x,y) (i0, j0+1) (i0+1, j0) (i0+1, j0+1) (i0, y) (i0+1, y) y f(i0,y) j1 f(i0,j1) j0 f(i0,j0) y0 f(i0,y0) f(i0, y) = f(i0, j0)+(y–j0)[f(i0, j0 +1)-f(i0, j0)] f(i0+1,y)=f(i0+1, j0)+(y–j0)[f(i0+1, j0 +1)-f(i0+1, j0)] f(x, y) = f(i0, y) + (x – i0) [f(i0+1, y) - f(i0, y)] 28/09/2014 Leonardo Vidal Batista - 295 (i0, j0) (x,y) (i0, j0+1) (i0+1, j0) (i0+1, j0+1) (i0, y) (i0+1, y) Ex: f(10.5, 15.2)=? f(10, 15) = 10; f(10, 16) = 20; f(11,15) = 30; f(11, 16) = 30 Simplificar notação: omitir índice 0 em i0, j0 f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)] f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)] f(x, y) = f(i, y) + (x – i) [f(i+1, y) - f(i, y)] 28/09/2014 Leonardo Vidal Batista - 296 x = 10.5; y = 15.2 => i = 10; j = 15 f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)] f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12 f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)] f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30 f(x, y) = f(i, y) + (x–i) [f(i+1, y) - f(i, y)] f(10.5, 15.2)=12+(10.5-10)*[30-12] =21 28/09/2014 Leonardo Vidal Batista - 297 Por interpolação bilinear 28/09/2014 Leonardo Vidal Batista - 298 10 10 20 30 10 10 10 10 10 10 20 23 27 30 33 37 Original Ampliação por fator 3 Interpolação nas colunas Passos de níveis de cinza: 10 a 20: (20-10)/3 = 3,3 10 a 23: (23-10)/3 = 4,3 10 a 27: (27-10)/3 = 5,7 ... 13 17 23 27 14 19 27 32 16 21 33 38 17 23 37 43 18 25 41 48 19 28 46 55 Por interpolação bilinear 28/09/2014 Leonardo Vidal Batista - 299 10 10 20 30 10 10 10 10 10 10 20 23 27 30 33 37 Original Ampliação por fator 3 Interpolação nas colunas Passos de níveis de cinza: 10 a 20: (20-10)/3 = 3,3 10 a 23: (23-10)/3 = 4,3 10 a 27: (27-10)/3 = 5,7 ... 13 17 23 27 14 19 27 32 16 21 33 38 17 23 37 43 18 25 41 48 19 28 46 55 Original Ampliação por fator 3 Aplicar equações de reconstrução 28/09/2014 Leonardo Vidal Batista - 300 10 10 20 30 10 13 17 20 23 27 10 14 19 23 27 32 10 16 21 27 33 38 10 18 25 33 41 48 10 19 28 37 46 55 0 1 0 1 0 1 0 1 0,33 0,67 1,33 1,67 0,33 0,67 1,33 1,67 10 17 23 30 37 43 Ex: Ampliação por fator 2.3 Passo para as coordenadas: 1/2.3 = 0.43 x = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... y = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... 28/09/2014 Leonardo Vidal Batista - 301 Ex: Ampliação por fator 2.3 Passo para as coordenadas: 1/2.3 = 0.43 28/09/2014 Leonardo Vidal Batista - 302 ? ? ? ? ? 0 1,3 0 1,3 0,43 0,87 1,74 2,17 0,43 0,87 1,74 2,17 10 20 0 30 30 25 30 30 90 0 1 2 0 1 3 ? ? ? ? ? ? Ex: Redução por fator 2.3 x = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8... y = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8... 28/09/2014 Leonardo Vidal Batista - 303 Warping = distorção Zoom por fator F(i, j) Rotação por ângulo teta(i,j) Translação com deslocamento d(i,j) Warping especificado pelo usuário 28/09/2014 Leonardo Vidal Batista - 304 Entretenimento, estética Efeitos especiais, morphing Correção de distorções óticas 28/09/2014 Leonardo Vidal Batista - 305 28/09/2014 Leonardo Vidal Batista - 306 28/09/2014 Leonardo Vidal Batista - 307 Entretenimento, estética Efeitos especiais, morphing Correção de distorções óticas Alinhamento de elementos correspondentes em duas ou mais imagens (registro) 28/09/2014 Leonardo Vidal Batista - 308 Da esquerda para a direita: • Imagem fonte • Imagem destino • Imagem fonte registrada 28/09/2014 Leonardo Vidal Batista - 309 Fonte: http://www.cs.dartmouth.edu/farid/Hany_Farid/Research/ Entries/2011/5/17_Image_Registration.html Entretenimento, estética Efeitos especiais, morphing Correção de distorções óticas Alinhamento de elementos correspondentes em duas ou mais imagens (registro) Modelagem e visualização de deformações físicas 28/09/2014 Leonardo Vidal Batista - 310 1. Características importantes da imagem são marcados por segmentos de reta orientados (vetores de referência) 28/09/2014 Leonardo Vidal Batista - 311 1. Características importantes da imagem são marcados por segmentos de reta orientados (vetores de referência) 2. Para cada vetor de referência, um vetor alvo é especificado, indicando a transformação que se pretende realizar 28/09/2014 Leonardo Vidal Batista - 312 3. Para cada par de vetores referência-alvo, encontra-se o ponto X’ para onde um ponto X da imagem deve migrar, de forma que as relações espaciais entre X’ e o vetor alvo sejam idênticas àquelas entre X e o vetor de referência 4. Parâmetros para as relações espaciais : u e v 28/09/2014 Leonardo Vidal Batista - 313 28/09/2014 Leonardo Vidal Batista - 314 u: representa o deslocamento normalizado de P até O no sentido do vetor PQ (normalizado: dividido pela norma de PQ) |v|: distância de X à reta suporte de PQ 28/09/2014 Leonardo Vidal Batista - 315 Se O=P, u = 0 Se O=Q, u = 1 Se O entre P e Q, 0<u<1; Se O após Q, u>1 Se O antes de P, u<0 28/09/2014 Leonardo Vidal Batista - 316 Encontrar u e v: norma, produto interno, vetores perpendiculares, projeção de um vetor sobre outro. Vetores a = (x1, y1) e b = (x2, y2) Norma de a: Produto interno: a.b = x1x2 +y1y2 28/09/2014 Leonardo Vidal Batista - 317 2 1 2 1|||| yx a Projeção de a sobre b (o sinal indica o sentido em relação a b) 28/09/2014 Leonardo Vidal Batista - 318 a b c |||| b a.b c Vetor b = (x2, y2) perpendicular a a = (x1, y1) e de norma igual à de a: Perpendicularidade: x1x2 +y1y2 = 0 Mesma norma: x2 2+ y2 2 = x1 2 + y1 2 28/09/2014 Leonardo Vidal Batista - 319 a b Soluções: x2 = y1, y2 = -x1 x2 = -y1, y2 = x1 28/09/2014 Leonardo Vidal Batista - 320 a b1 b2 Parâmetro u: • projeção de PX sobre PQ, dividido pela norma de PQ 28/09/2014 Leonardo Vidal Batista - 321 2|||| PQ PQPX u . P = (xp,yp), Q = (xq, yq), X = (x,y) 28/09/2014 Leonardo Vidal Batista - 322 u = (x - xp).(xq - xp) + (y -yp)(yq – yp) (xq-xp) 2 + (yq-yp) 2 2|||| PQ PQPX u . Parâmetro v: |v| é a distância de X à reta suporte de PQ. Sinal de v indica o posicionamento de X em relação a PQ v : vetor perpendicular a v e de mesma norma que este. 28/09/2014 Leonardo Vidal Batista - 323 |||| PQ PQPX v . PQ = (Xq-Xp, Yq-Yp) PQ1 = (Yq–Yp, Xp-Xq) PQ2 = (Yp–Yq, Xq-Xp) Vamos usar PQ1 28/09/2014 Leonardo Vidal Batista - 324 Parâmetro v: 28/09/2014 Leonardo Vidal Batista - 325 |||| PQ PQPX v . v = (x-xp)(yq-yp) + (y-yp)(xp–xq) [(xq-xp) 2 + (yq-yp) 2]1/2 Cálculo de X’: 28/09/2014 Leonardo Vidal Batista - 326 ||''|| '' ''.'' QP QPv QPuPX . 2|||| PQ PQPX u . 28/09/2014 Leonardo Vidal Batista - 327 |||| PQ PQPX v . ||''|| '' ''.'' QP QPv QPuPX . Quando há mais de um par de vetores referência-alvo, cada pixel sofre a influência de todos os pares de vetores Será encontrado um ponto Xi’ diferente para cada par de vetores referência-alvo. Os diferentes pontos para os quais o ponto X da imagem original seria levado por cada par de vetores referência-alvo são combinados por intermédio de uma média ponderada, produzindo o ponto X’ para onde X será efetivamente levado. 28/09/2014 Leonardo Vidal Batista - 328 28/09/2014 Leonardo Vidal Batista - 329 Peso da coordenada definida pelo i-ésimo par de vetores de referência-alvo: 28/09/2014 Leonardo Vidal Batista - 330 di: Distância entre X e o segmento PiQi li: ||Pi Qi|| a, b e p : Parâmetros não negativos Relação inversa com a distância entre a reta e o ponto X Parâmetro a : Aderência ao segmento • a = 0 (Peso infinito ou aderência máxima) 28/09/2014 Leonardo Vidal Batista - 331 Parâmetro p controla a importância do tamanho do segmento p = 0: independe do tamanho do segmento 28/09/2014 Leonardo Vidal Batista - 332 Parâmetro b controla a forma como a influência decresce em função da distância b = 0: peso independe da distância 28/09/2014 Leonardo Vidal Batista - 333 Bons resultados são obtidos com: a entre 0 e 1 b = 2 p = 0 ou p = 1. 28/09/2014 Leonardo Vidal Batista - 334 Exemplo: P0 = (40, 10); Q0 = (20, 5) P0’ = (35, 15); Q0’ = (25, 20) P1 = (20, 30); Q1 = (10, 35) P1’ = (25, 50); Q1’ = (5, 40) X = (20, 25) u0 = [(20-40) (20-40) + (25-10)(5-10)] / [(20-40)2+ (5-10)2] = 0.76 v0 = [(20-40) (5-10) + (25-10)(40-20)] / [(20-40)2+ (5-10)2]1/2 = 19.40 X0’ = (35, 10) + 0.76 (25-35, 20-15) + 19.4 (20-15, 35-25) / [(25-35)2 + (20-15)2]1/2 X0’ = (36.03, 31.17) 28/09/2014 Leonardo Vidal Batista - 335 0 5 10 15 20 25 30 35 40 45 50 60 55 0 5 10 15 20 25 30 35 40 45 50 Q0 P0 P0’ Q0’ P1 P1’ Q1’ Q1 X X0’ Exemplo (cont): u1 = [(20-20) (10-20) + (25-30)(35-30)] / [(10-20)2+ (35-30)2] = - 0.2 v1 = [(20-20) (35-30) + (25-30)(20-10)] / [(10-20)2+ (35-30)2]1/2 = - 4,47 X1’ = (25, 50) - 0.2 (5-25, 40-50) -4,47 (40-50, 25-5) / [(25-5)2 + (40-50)2]1/2 X1’ = (25, 50) + (4.6, 2) + (2, -3.99) = (31.6, 48,01) 28/09/2014 Leonardo Vidal Batista - 336 0 5 10 15 20 25 30 35 40 45 50 60 55 0 5 10 15 20 25 30 35 40 45 50 Q0 P0 P0’ Q0’ P1 P1’ Q1’ Q1 X X0’ X1’ Exemplo (cont): Dados a = 0.1; b = 2; p= 0 wi = 1/[0.1+di] 2 d0 = v0 = 19.4 => w0 = 0.0026 d1 = distância de X a P1 = [(20-20) 2 + (25-30)2]1/2 = 5 =>: w1 = 0.0384 X’ = [0.0026* (36.03, 31.17) + 0.0384*(31.6, 48,01)]/( 0.0026+ 0.0384) X’ = (31.88, 46,94) 28/09/2014 Leonardo Vidal Batista - 337 0 5 10 15 20 25 30 35 40 45 50 60 55 0 5 10 15 20 25 30 35 40 45 50 Q0 P0 P0’ Q0’ P1 P1’ Q1’ Q1 X X0’ X1’ X’ Interpolação de formas e cores entre duas imagens distintas (f0 e fN-1) Encontrar imagens f1, f2, ..., fN-2: transição gradual de f0 a fN-1 Efeitos especiais na publicidade e na indústria cinematográfica; realidade virtual; compressão de vídeo; etc. 28/09/2014 Leonardo Vidal Batista - 338 28/09/2014 Leonardo Vidal Batista - 339 28/09/2014 Leonardo Vidal Batista - 340 ai bi cki cki Warping de f0 f0 fN-1 Warping de fN-1 “+” 28/09/2014 Leonardo Vidal Batista - 341 ai bi c1i c2i c3i c4i c5i c6i c7i c8i c9i 28/09/2014 Leonardo Vidal Batista - 342 Conversão ao domínio da freqüência: transformadas Processamento e análise no domínio da freqüência Fourier, Cosseno Discreta, Wavelets, etc. 28/09/2014 Leonardo Vidal Batista - 343 f: freqüência T=1/f: período : fase A: amplitude D: descolamento vertical Gráfico para = 0 e A>0 f = 1/T 28/09/2014 Leonardo Vidal Batista - 344 ftADtx 2cos)( T A D (0,0) fk: freqüência do k-ésimo cosseno Tk =1/fk: período do k-ésimo cosseno : fase do k-ésimo cosseno Ak: amplitude do k-ésimo cosseno 28/09/2014 Leonardo Vidal Batista - 345 1..., ,1 ,0 ,2cos)( NktfAtx kkkk k k = 0,1,...N-1 28/09/2014 Leonardo Vidal Batista - 346 110 ,2cos][ ,...,N,nnfAnx kkkk 28/09/2014 Leonardo Vidal Batista - 347 1-... 2, 1, para 1 0para 1/2 1/2 Nk k ck N k fk 2 k N Tk 2 N k k 2 110 , 22 2cos 2 ][ 2/1 ,...,N,n N k n N k Xc N nx kkk kkk Xc N A 2/1 2 v. Amostragem de senóides (meio-período em N amostras) 28/09/2014 Leonardo Vidal Batista - 348 110 , 2 12 ][ 0 2/12/1 0 ,...,N,nX N nx 0 0 0 0 0 f k NT N fk 2 2 1 1 11 1 2 2 1 1 11 N N T N N fNk NN 110 , 22 2cos 2 ][ 2/1 ,...,N,n N k n N k Xc N nx kkk xk[n] (N = 64, Xk = 10) 28/09/2014 Leonardo Vidal Batista - 349 0 10 20 30 40 50 60 70 -2 -1 0 1 2 k=1 Meio-ciclo 28/09/2014 Leonardo Vidal Batista - 350 k=2 1 ciclo 0 10 20 30 40 50 60 70 -2 -1 0 1 2 0 10 20 30 40 50 60 70 -2 -1 0 1 2 k=3 1,5 ciclo 28/09/2014 Leonardo Vidal Batista - 351 k=32 16 ciclos Para visualização 0 10 20 30 40 50 60 70 -2 -1 0 1 2 0 10 20 30 40 50 60 70 -2 -1 0 1 2 28/09/2014 Leonardo Vidal Batista - 352 k=63 31,5 ciclos Para visualização 0 10 20 30 40 50 60 70 -2 -1 0 1 2 0 10 20 30 40 50 60 70 -2 -1 0 1 2 Amostragem de um sinal periódico não necessariamente produz um sinal de mesmo período (ou mesmo periódico). 28/09/2014 Leonardo Vidal Batista - 353 Criar um sinal x[n] somando-se os sinais xk[n], k = 0...N-1, amostra a amostra: 28/09/2014 Leonardo Vidal Batista - 354 110 ],[][ 1 0 ,...,N,nnxnx N k k 110 , 22 2cos 2 ][ 1 0 2/1 ,...,N,n N k n N k Xc N nx N k kk Exemplo: N = 8; X0 = 10; X1 = 5; X2 = 8,5; X3 = 2; X4 = 1; X5 = 1,5; X6 = 0; X7 = 0,1. 28/09/2014 Leonardo Vidal Batista - 355 0 2 4 6 8 2 3 4 5 10 2 1 2 1 ][ 2/1 0 nx =3.5355 X1 = 5 28/09/2014 Leonardo Vidal Batista - 356 =2.4520; 2.0787; 1.3889; 0.4877; -0.4877; -1.3889; -2.0787; -2.4520 0 2 4 6 8 -4 -2 0 2 4 16 )12( cos 2 5 ][1 n nx 0 2 4 6 8 0 2 4 6 x0[n]+x1[n] X2 = 8,5 28/09/2014 Leonardo Vidal Batista - 357 = 3.9265; 1.6264; -1.6264; -3.9265; -3.9265; -1.626; 1.6264; 3.9265 x0[n]+x1[n] +x2[n] 0 2 4 6 8 -4 -2 0 2 4 16 2)12( cos 2 5.8 ][2 n nx 0 2 4 6 8 -5 0 5 10 X3 = 2 28/09/2014 Leonardo Vidal Batista - 358 = 0.8315; -0.1951; -0.9808; -0.5556; 0.5556; 0.9808; 0.1951; -0.8315 x0[n]+x1[n]+x2[n]+x3[n] 0 2 4 6 8 -1 -0.5 0 0.5 1 16 3)12( cos 2 2 ][3 n nx 0 2 4 6 8 -5 0 5 10 15 X4 = 1 28/09/2014 Leonardo Vidal Batista - 359 = 0.3536; -0.3536; -0.3536; 0.3536; 0.3536; -0.3536; -0.3536; 0.3536 x0[n]+x1[n]+x2[n]+x3[n] +x4[n]
Compartilhar