Professional Documents
Culture Documents
QUESTES TERICAS Problema 1.1: Uma maneira de obtermos uma derivada discreta 2-D (aproximada) e calculando as diferenas f (x + 1, y) f (x, y) e f (x, y + 1) f (x, y). a) Ache o filtro equivalente no domnio da frequncia (H (u, v)). Usando a tabela (por inspeo), o (, ) das diferenas f (x + 1, y) f (x, y) e f (x, y + 1) f (x, y) :
(, ) =
Testando o filtro para:
2 +
Test
1 2 3 Temos para Test1:
0 2
0 2
freq
Baixas Baixas Altas
(0,0) = 1 2 + 1 = 0
Temos para Test2:
(0,0) = 1 2 + 1 = 0
Temos para Test3:
(0,0) = 1 2 + (1) = 4
Assim, pode-se observar que o filtro s deixa passar frequncias altas, eliminando as frequncias baixas. Problema 1.2: Considere as imagens abaixo. A imagem direita foi obtida: (1) filtrando a imagem da esquerda com um filtro passa-baixas Gaussiano e (2) filtrando o resultado com um filtro passa-altas Gaussiano. As imagens tm dimenso 420 344. Ambos os filtros tem parmetro D0 = 25. a) Explique porque a parte central do anel na figura tem aparncia brilhante slida, considerando que as caractersticas dominantes da imagem filtrada consiste das linhas
nas bordas externas dos objetos (e.g. dedos, ossos, etc.) com uma rea mais escura entre estas linhas. Em outras palavras, voc esperaria que o passa-altas produzisse uma rea constante dentro do anel, uma vez que o passa-altas elimina o termo dc? O anel na imagem filtrada contem informao muito marcada do um extremo mais claro da escala de cinza, portanto ao aplicar os filtros passa-baixas e passa-altas s tendem a deixar os nveis de cinza dos pixels que compem o anel com as mesmas caratersticas, mas a notvel que a borda externa do anel sem afetada pelos filtros. Tambm, a mistura destes dois filtros pode ser catalogada como um filtro passa banda. b) Se invertermos a ordem dos filtros, o resultado permaneceria o mesmo? Pensaria que ocorre o mesmo efeito no anel, mas na prtica acontece que a imagem sofre ligeiras variaes nos nveis de cinza. Problema 1.3: As barras brancas na imagem da Figura possuem 7 pixels de largura e 210 pixels de altura. A separao entre as barras possui 17 pixels. Como se pareceria esta imagem se aplicssemos: Para resolver as questes a seguir, considerasse que a imagem original possui rudo gaussiano, pois visvel realizando uma inspeo visual. a) Um filtro da mdia aritmtica de tamanhos 3 3 e 7 7;
Figura 1. Aplicao Filtro media aritmtica Se apreciaria nas bordas das linhas um leve desfoque para o filtro 3x3 e um pouco mais acentuado para o de 7x7. b) Um filtro da mdia geomtrica de tamanhos 3 3 e 7 7;
Se apreciaria que a imagem possui um pouco de rudo gaussiano, portanto, aplicando o filtro 3x3 na imagem, as bordas das linhas perdem informao e ficam mordidas. J, usando o filtro 7x7, a perda de informao visual das linhas mais forte. c) Um filtro contra-harmnico (CH) com Q = 1 e Q = 1, de tamanhos 3 3 e 7 7;
Figura 3. Aplicao Filtro CH com Q = 1 As anteriores imagens mostram: (de esquerda para a direita) a imagem original o filtro CH de 3x3 e 7x7 com Q=1. Como pode-se observar, depois de aplicar o filtro ocorre que as barras adquirem uma maior quantidade de pixel brancos resultando em barras com uma espessura maior. Tambm, o rudo gaussiano presente na imagem original desapareceu.
Figura 4. Aplicao Filtro CH com Q = -1 Nas anteriores imagem aplicado o mesmo filtro CH mas com Q=-1 e o resultado visvel o contrrio do que foi explicado quando Q=1. d) Um filtro da mediana de tamanhos 3 3 e 7 7.
Aparentemente se aprecia que este filtro no modifica muito a imagem original, no entanto, fazendo um zoom na imagem pode-se perceber que o rudo foi eliminado da imagem, resultando em uma imagem onde o preto fica mais preto e o branco mais branco, alm de que as borda das barras brancas tambm so afetadas pelo filtro. Problema 1.4: Considere um sistema de degradao de imagens linear e invariante posio com resposta impulsiva (, ) = [()
2 +()2 ]
Suponha que a entrada do sistema e uma imagem consistindo de uma linha de largura innitesimal localizada em = e modelada por (; ) = ( ), onde um impulso. Assumindo que no h rudo, qual a imagem de sada (; )? Tendo:
(, ) = (, )( , )
(, ) = ( ) [()
2
2 +()2 ]
[()2 ]
[() ]
Isto, a forma de uma constante multiplicada por uma densidade gaussiana com 2 = 2 ou tambm =
1 2
, dizer: [()
2]
1 = 2( ) 2
1 1 [ 2(2)
1 ()2 ( )[ ] 1 2 2
A integral de menos a mais infinito da quantidade dentro dos colchetes 1, ento: (, ) = [()
2]
Problema 2.1 Para as questes abaixo, baixe as duas imagens figura lista3 1.bmp e figura lista3 2.bmp da pgina do curso, utilizando-as como originais para os problemas a seguir. a) Implemente um algoritmo de equalizao utilizando uma abordagem global, ou seja, uma abordagem baseada no histograma da imagem completa. Calcule os histogramas das imagens originais. Aplique o mtodo de equalizao global de histogramas para as duas imagens originais. Imprima as imagens originais, as imagens equalizadas e os seus respectivos histogramas. Ver programa em anexo 1, o resultado :
b) Implemente um algoritmo de equalizao que utilize uma abordagem baseada em histogramas locais. Ou seja, ao invs de aplicar o procedimento de equalizao sobre a imagem completa, aplique-o sobre pequenas reas da imagem (subimagens). Aplique o mtodo nas duas imagens originais, considerando reas de 5x5 e 7x7 pixels. Imprima as imagens originais, as imagens equalizadas e seus respectivos histogramas. Comente os resultados obtidos, comparando-os com os resultados obtidos anteriormente.
Figura 10. Equalizao local de histograma 7x7 Como pode ser observado a equalizao local de histograma no funciona adequadamente para esta imagem. Embora os histogramas mostram uma normalizao nos valores de tons de cinza, no quer dizer que a imagem de sada foi melhorada, como ocorreu na equalizao global de histograma da primeira imagem no item anterior (Figura 6). Tambm, de notar que os tamanhos 5x5 e 7x7 para subimagens, no sempre concorda com a quantidade de vezes que a imagem original pode ser subdividida, por isso na Figura 10
observado uma pequena borda preta na parte direita e inferior, porem isto afeita o histograma da imagem de sada. Ver anexo 2 Segunda imagem de sada com equalizao local de histograma:
Figura 10. Equalizao local de histograma 7x7 Problema 2.2 a) Escreva um programa que execute a filtragem espacial de uma imagem. O seu programa deve permitir que o usurio entre com os coeficientes e o tamanho (n n, n um nmero mpar) da mscara espacial. Ver anexo 3 para ver o programa.
b) Utilize o programa desenvolvido no item (a) para implementar a tcnica de realce utilizando um filtro Laplaciano. Teste o seu programa utilizando a figuras catedral (disponvel na homepage). Usando a mscara: 0 1 0 = [1 4 1] 0 1 0
Este o resultado de aplicar o laplaciano (esquerda imagem original direita imagem com filtragem espacial):
Apercepo da imagem mostra que no h uma mudana muito aprecivel na imagem de sada, mas se o laplaciano multiplicado 4 vezes e depois aplicado na imagem original, o resultado :
c) Use o seu programa para implementar o filtro de high-boost. O filtro passa-baixas utilizado deve ser : 1 1 1 = [1 1 1] 1 1 1 Teste a sua tcnica utilizando a mesma figura. O resultado mostrado na imagem a seguir:
Problema 2.3: Baixe o arquivo no formato TAR.GZ imagensruidosas disponvel na pgina do curso. Este arquivo contm um conjunto de imagens ruidosas. Implemente 5 filtros ( sua escolha) para remoo de rudo. Utilize os filtros implementados para remover o rudo em cada um das imagens. Comente os resultados obtidos. Quando possvel, descreva o tipo de rudo presente na imagem.
Imagem JFKreg.jpg. Aparentemente a imagem original tem um pouco de rudo e o filtro da mediana, desde meu ponto de vista o melhor para realizar a imagem.
Imagem Lena.jpg. Aparentemente a imagem original tem um pouco de rudo e o filtro da contraharmnico com Q=1, desde meu ponto de vista o melhor para realizar a imagem.
Imagem Lena-sp.jpg. A imagem original tem rudo salt-pepper e o filtro da mediana, visivelmente o melhor para realizar a imagem pois elimina os pixels com valores extremos (branco/preto puros).
Ver anexo 6.
FUNO HISTEQ.M
function histMat = HistEq(I1) I1h = imhist(uint8(I1)); [m,n] = size(I1); [m1,n1] = size(I1h); m1 = m1-1; I1hG = zeros(m1,n1); temp=0; for i=1:m1 temp = temp + ((I1h(i,n1)/(m*n))); I1hG(i,n1)=round(m1*temp);
end I1n = zeros(m,n); for i=1:m for j=1:n temp=I1(i,j); if temp==255 temp = 254; end I1n(i,j) = I1hG(temp+1,n1); end end histMat = I1n; end
Funo PasarMask
function pMas = PasarMask(Tmask, Mask, PM)
pMas = 0; for i=1:Tmask for j=1:Tmask pMas = pMas + (Mask(i,j) * PM(i,j)); end end end