Operações Algébricas Operações Topológicas > Computação Gráfica Operações algébricas > Produzem uma imagem de saída aplicando-se diferentes operações algébricas pixel a pixel das imagens de entrada, com possível envolvimento de escalares 2 Operações Algébricas > n-árias > Algébricas • Dissolve Cruzado > Uniforme > Não-uniforme • Redução de Ruído por média de imagens 3 Dissolve Cruzado > Nova imagem ht ht (i, j)= (1 - t) f(i, j) + t g(i, j) > t é um escalar no intervalo [0, 1] 4 Dissolve Cruzado > Cada ponto -> média ponderada t = 0,3 t = 0,5 t = 0,7 5 Dissolve Cruzado Não-Uniforme > Nova imagem ht 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] 6 Dissolve Cruzado Não-Uniforme t(i,j)=(i+j)/(R+C-2) t(i,j)=j/(C-1) t(i,j)=i/(R-1) 7 Redução de Ruído por Média “DE” Imagens > gk [i,j] = f[i,j] + nk(i,j) > f[i, j] imagem sem ruído > nk(i, j) ruído de média > A imagem obtida fazendo a média dessas imagens ruidosas é: > 1 g[i, j ] M M g [i, j] k k 1 onde M é o n° de imagens ruidosas 8 Redução de Ruído por Média de Imagens > Para M grande: g[i, j ] f [i, j ] n 9 Operações Topológicas > Efetuam mapeamento das coordenadas (i,j) dos pixels da imagem de entrada para uma coordenada (i’, j’) na imagem de saída. > Exemplo: (Rebatimento) i’ = j , j’ = i 10 Rotação > Rotação -90° de uma imagem R x C > j’ = R-1-i , i’ = j (i,j) = (i’, j’) (0,0) = ( , ) (1,0) = ( , ) (2,0) = ( , ) (i,j) = (i’, j’) (0,1) = ( , ) (1,1) = ( , ) (2,1) = ( , ) (i,j) = (i’, j’) (0,2) = ( , ) (1,2) = ( , ) (2,2) = ( , ) (i,j) = (i’, j’) (0,3) = ( , ) (1,3) = ( , ) (2,3) = ( , ) Rotação > Rotação -90° de uma imagem R x C > j’ = R-1-i , i’ = j (i,j) = (i’, j’) (0,0) = (0,2) (1,0) = (0,1) (2,0) = (0,0) (i,j) = (i’, j’) (0,1) = (1,2) (1,1) = (1,1) (2,1) = (1,0) (i,j) = (i’, j’) (0,2) = (2,2) (1,2) = (2,1) (2,2) = (2,0) (i,j) = (i’, j’) (0,3) = (3,2) (1,3) = (3,1) (2,3) = (3,0) Rotação e Rebatimento Imagem original Rebatimento pela diagonal Rotação de -90 graus em torno de (R/2,C/2) 13 Rotação > Rotação em torno de (ic, jc) i' (i ic ) cos ( j jc ) sen ic j ' (i ic ) sen ( j jc ) cos jc > θ=45° e (ic, jc)=(255,0) > θ=-45° e (ic, jc)=(255,0) Ampliação (Zoom in) > Por replicação de pixels > Original 10 10 20 30 > Ampliação por fator de 3 10 10 10 20 20 20 10 10 10 20 20 20 10 10 10 20 20 20 10 10 10 30 30 30 10 10 10 30 30 30 10 10 10 30 30 30 15 Ampliação (Zoom in) > Por interpolação bilinear > Original 10 10 > Ampliação por fator de 3 10 10 20 30 20 30 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 16 Ampliação (Zoom in) > Por interpolação bilinear > Original 10 10 > Ampliação por fator de 3 10 10 10 10 10 10 20 30 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 20 23 27 30 33 37 17 Ampliação (Zoom in) > Por interpolação bilinear > Original 10 10 20 30 Interpolação nas colunas Passos de níveis de cinza: 10 a 20: 10 a 23: 10 a 27: 10 a 30: 10 a 33: 10 a 37: > Ampliação por fator de 3 10 10 10 10 10 10 20 23 27 30 33 37 18 Ampliação (Zoom in) > Por interpolação bilinear > Original 10 10 20 30 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 10 a 30: (30-10)/3 = 6,7 10 a 33: (33-10)/3 = 7,7 10 a 37: (37-10)/3 = 9 > Ampliação por fator de 3 10 13 17 20 23 27 10 14 19 23 27 32 10 16 21 27 33 38 10 17 23 30 37 43 10 18 25 33 41 48 10 19 28 37 46 55 19 Ampliação (Zoom in) > Exemplo: Ampliação por fator de 10 Original Replicação Interpolação 20 Redução (Zoom out) > Por eliminação de pixel > Por média Original 10 13 17 20 23 27 10 14 19 23 27 32 10 16 21 27 33 38 10 17 23 30 37 43 Redução por fator 3 10 18 25 33 41 48 10 19 28 37 46 55 14 18 28 41 21 Reconstrução de imagens > Dados f(i,j), f(i,j+1), f(i+1,j), f(i+1,j+1) (i, j) (i, y) 1° (i, j+1) > Reconstrução: Encontrar f(x,y), x no intervalo [i, i+1] Y no intervalo [j, j+1] (i+1, j) (x,y) 3° (i+1, y) 2° (i+1, j+1) 22 Reconstrução de imagens por 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)] = + p.a. (i, j) dist. ao pixel anterior (i, y) ( p.p. p.a. ) (i, j+1) (x,y) (i+1, j) (i+1, y) (i+1, j+1) 23 Reconstrução > Ex: f(10.5, 15.2)=? > f(10, 15) = 10 ; f(11,15) = 30 ; f(10, 16) = 20; f(11, 16) = 30 24 Reconstrução de imagens Solução: x = 10.5; y = 15.2 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] = = 10 + 0.2 *(20 – 10) = 10 + 0.2*10 = 10 + 2 = 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 + 0.2 *(30 - 30) = 30 + 0 = 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] = =12 + 0.5 * 18 = 12 + 9 = 21 25