450 likes | 555 Views
Processamento Digital de Imagens. Parte 2. Operações Topológicas. Bruno Barufaldi. Conteúdo (parte 2). Dissolve Cruzado Detecção de Movimento Redução de Ruído Zoom Reconstrução de Imagens Rebatimento (flip ) Rotação. Warping Morphing. Dissolve Cruzado.
E N D
Processamento Digital de Imagens Parte 2. Operações Topológicas Bruno Barufaldi
Conteúdo (parte 2) • Dissolve Cruzado • Detecção de Movimento • Redução de Ruído • Zoom • Reconstrução de Imagens • Rebatimento(flip) • Rotação • Warping • Morphing
Dissolve Cruzado • O dissolve cruzadouniforme de duasimagensf e g é uma nova imagemh dada por: h(i,j) = (1-t) f(i,j) + t g(i,j)
Dissolve Cruzado h(i,j) = (1-t) f(i,j) + t g(i,j) A B C Imagemresultante com t = 0,3 A Imagemresultante com t = 0,5 B Imagemresultante com t = 0,7 C
Dissolve Cruzado • O dissolve cruzadonãouniforme, t é umamatriz com mesmasdimensões de f e g h2(i,j) = [1 – t(i,j)] f(i,j) + t(i,j) g(i,j) A B C (A) t(i,j) = (i+j)/(R+C-2) (B) t(i,j) = j/(C-1) (C) t(i,j) = i/(R-1)
Detecção de Movimento • Videos (frames/seg) • Subtração de Imagens f1 f2 g
Redução de RuídoporMédia das Imagens • Imagensestacionárias 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)
Redução de RuídoporMédia das Imagens • Para M grande:
Zoom in • Porreplicação de pixels Original Ampliação por fator 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 20 20 20 20 20 30 30 30 30 30 30 30 30
Zoom in • Porinterpolação bilinear Original Ampliação por fator 3 10 10 10 10 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 23 33 27 37
Zoom in • Porinterpolação bilinear Original Ampliação por fator 3 19 17 18 14 16 13 25 17 21 23 19 28 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 ... 37 41 46 23 33 27 38 48 55 27 32 43
Zoom in • Exemplo: ampliaçãofator 10 Original Replicação Interpolação
Zoom out • Poreliminação de pixels • Média Original Redução por fator 3 (10 + 10 + 10 + 13 + 14 + 16 + 17 +19 + 21) / 9 (10 + 10 + 10 + 17 + 18 + 19 + 23 + 25 + 28) / 9 (20 + 23 + 27 + 23 + 27 + 33 + 27 + 32 + 38) / 9 (30 + 33 + 37 + 37 + 41 + 46 + 43 + 48 + 55) / 9
Reconstrução de Imagens • Quandoqueremosampliar a imagem (zoom in) por um fatornãointeiro? • Ex.: F = 3,75 • Reconstruir a imagem
Reconstrução de Imagens • Dados f(i,j), f(i,j+1), f(i+1,j), f(i+1,j+1) • Reconstrução: Encontrar f(x,y), x em [i, i+1] y em [j, j+1]
Reconstrução de Imagens • Interpolação bilinear • 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)]
Reconstrução de imagens (10,15.2) • Ex: f(10.5, 15.2)=? f(10, 15) = 10 f(10, 16) = 20f(11,15) = 30 f(11, 16) = 30 (11,15.2) f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12 f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30 f(10.5, 15.2)=12+(10.5-10)*[30-12] = 21
Reconstrução de imagens (10,15.2) • Ex: f(10.5, 15.2)=? f(10, 15) = 20 f(10, 16) = 15f(11,15) = 13 f(11, 16) = 20 (11,15.2) f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15)] = 20 + 0.2*[15 – 20] = 19 f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15)] = 13 + 0.2*[20 – 13] = 14 f(10.5, 15.2)=19+(10.5-10)*[14-19] = 17
Zoom com Reconstrução de Imagem 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... g(0,0) = f(0,0); g(0,1) = f(0, 0.43); g(0,2) = f(0, 0.87); g(0,3) = f(0, 1.30);... 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... g(0,0) = f(0,0); g(0,1) = f(0, 2.3); g(0,2) = f(0, 4.6); g(0,3) = f(0,6.9);...
Rotação • Rotação de um ânguloβemtorno de um ponto C(ic, jc) Para cada ponto X(i, j) da imagem original, calculam-se as coordenadas do ponto X’(i’, j’) correspondente. X’(i’, j’) X(i, j) X(i, j) θ β α C(ic, jc) C(ic, jc)
Rotação X’(i’, j’) X(i, j) j - jc θ j - jc β α α C(ic, jc) i - ic i - ic
Rotação X’(i’, j’) X(i, j) j’ - jc j’ - jc θ θ β α C(ic, jc) i’ - ic i’ - ic
Rotação • Desenvolvendo as equações: onde logo
Rotação • Rotação de um ângulo β em torno de um ponto C(ic, jc)
Rotação • Exemplos Rotação com decrescimento quadrático e multiplicação senoidal, e um centro de rotação Imagem Original Rotação com crescimento quadrático e um centro de rotação Rotação com crescimento linear e um centro de rotação Rotação com decrescimento linear, um centro de rotação Rotaçãoconstante com ângulo de 45 graus
Rebatimento • Rebatimentohorizontal • Rebatimento vertical
Rebatimento Imagem original Rebatimento vertical Rebatimento horizontal
Rebatimento • Rebatimento diagonal principal • Rebatimento diagonal secundária
Rebatimento Imagem original Rebatimento pela diagonal principal Rebatimento pela diagonal secundaria
Warping = Deformação • Transformaçãogeométricagenéricaquemodifica a relaçãoespacial dos pontosdaimagem • Váriastécnicas de warping sãodefinidasnaliteratura • Mesh warping, Field Morphing, Multilevel free-form deformation, etc. • Morphing • Metamorfose gradual entre 2 oumaisimagensenvolvendo a deformação (warping)
Vídeo AplicaçãoPrática #fail AplicaçãoPrática
Warping baseadoemcampos • Determinarcaracterísticasrelevantesnaimagem (nariz, boca, contornoda face, etc.) • Definirvetoresreferência e vetoresalvos
Warping baseadoemcampos • Parâmetros “u” e “v” estabelecem as relaçõesquedevem ser preservadas • v: distância do ponto X ao ponto que corta (Q-P) através de uma linha perpendicular ao vetor • u: distanciamedidapeloponto P até a linhaquepassa perpendicular a X. • Quantomaior a distância de X, menosinfluenteserá o pontoaosegmento
Warping baseadoemcampos • Representa um vetor perpendicular a V de mesmomóduloqueeste
Warping baseadoemcampos • Quando há mais de um par de vetores referência-alvo, cada ponto da imagem sofrerá a influência de todos os pares de vetores. Neste caso, será em geral encontrado um ponto diferente para cada par de vetores referência-alvo. • A combinação dos vetoresreferencia e alvo é efetuadaporumamédiaponderadaproduzindo o pontoX’
Warping baseadoemcampos • peso: quando mais de um vetor é definido, um pixel pode ser influenciadopor ambos ossegmentos. O segmento de maior peso, influenciarámais o valor de X’ • tamanho: módulo do vetor • p: importancia do comprimento do vetor (Se p = 0, comprimentoignorado) • b: concentração de forçadacaracterística • a: aderênciaaovetor (paravalorespróximos a 0, ospontosmaispróximosaovetorserãomapeadosexatamentecomo o vetordetermina) • Experimentos com os parâmetros mostram que bons resultados, em termos de qualidade visual e tempo de processamento, são obtidos com a = 0 ou a = 1, b = 2 e p = 0 ou p = 1.
Morphing • 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ústriacinematográfica; realidade virtual; compressão de vídeo; etc. • Warping + dissolve cruzado
Morphing • São marcadosvvetores de referência (característicasrelevantes) emf0 e vvetores de referênciaemfN-1 • ai, i = 1, 2,..., v (f0) e bi, i = 1, 2,..., v (fN-1) • Para cada imagem interpolada e para cada par de vetores ai – bi , um novo vetor alvo cié criado. • Se temos k imagensinterpoladas, teremosckivetoresalvo
Morphing ImagemInicial ai, i = 1, 2,..., v (f0) Imagem final bi, i = 1, 2,..., v (fN-1)