250 likes | 432 Views
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
E N D
Operações AlgébricasOperações Topológicas > Computação Gráfica
Operações algébricas • Produzemumaimagem de saídaaplicando-se diferentesoperaçõesalgébricaspixel a pixel das imagens de entrada, com possívelenvolvimento 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 imagemobtidafazendo a médiadessasimagensruidosas é: • onde M é o n° de imagensruidosas 8
Redução de Ruído por Média de Imagens • Para M grande: 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) • θ=45° e (ic, jc)=(255,0) • θ=-45° e (ic, jc)=(255,0)
Ampliação (Zoom in) • Por replicação de pixels • Original • Ampliação por fator de 3 15
Ampliação (Zoom in) • Por interpolação bilinear • Original • Ampliação por fator de 3 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 • Ampliação por fator de 3 Interpolação nas linhas Passos de níveis de cinza: 10 a 10: 0 20 a 30: (30-20)/3 = 3,3 17
Ampliação (Zoom in) • Por interpolação bilinear • Original • Ampliação por fator de 3 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: 18
Ampliação (Zoom in) • Por interpolação bilinear • Original • Ampliação por fator de 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 10 a 30: (30-10)/3 = 6,7 10 a 33: (33-10)/3 = 7,7 10 a 37: (37-10)/3 = 9 19
Ampliação (Zoom in) • Exemplo: Ampliação por fator de 10 Original Interpolação Replicação 20
Redução (Zoom out) • Por eliminação de pixel • Por média Original Redução por fator 3 21
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 no intervalo [i, i+1] • Y no intervalo [j, j+1] 1° 3° 2° 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)] = + dist. ao pixel anterior - ( ) p.a. p.p. p.a. 23
Reconstrução • Ex: f(10.5, 15.2)=? • f(10, 15) = 10 ; f(10, 16) = 20;f(11,15) = 30 ; 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