Baixe o app para aproveitar ainda mais
Prévia do material em texto
Filtros no Domínio espacial: Suavização e realce de bordas Profa. Fernanda Puga Processamento no domínio espacial • Convolução • Frequência • Filtros de suavização • Média - passa baixa •Mediana • Gaussiano - passa baixa • Filtros de realce de bordas (passa alta) • Gradiente • Sobel • Roberts • Prewitt • Gradiente • Laplaciano Estrutura/Conteúdo Processamento no domínio espacial • Os métodos de filtragem de imagens discutidos são normalmente classificados em duas categorias: as técnicas de filtragem espacial e as técnicas de filtragem no domínio da frequência. • Os métodos que trabalham no domínio espacial operam diretamente sobre a matriz de pixels que é a imagem digitalizada, normalmente utilizando operações de convolução com máscaras. Os métodos que atuam no domínio da frequência se baseiam na modificação da transformada de Fourier da imagem. • Nos processamentos usando o histograma as operações são realizadas pontualmente, não importando a distribuição espacial nem a vizinhança, sendo por isso chamadas de operações pontuais ou processamento pontual. • No domínio espacial, normalmente considera-se uma vizinhança em torno de cada pixel, podendo esta vizinhança possuir diferentes dimensões, através de convolução. Convolução Processamento no domínio espacial Convolução • Convolução é uma operação entre duas imagens, uma original e outra menor, chamada núcleo (kernel) da convolução, também chamada de máscara. A operação consiste de uma soma ponderada dos pixels de uma área envolvendo um pixel da imagem da imagem original. Ela pode detectar, suavizar e realçar bordas de uma imagem. • A principal aplicação da convolução é filtrar uma imagem geralmente com o objetivo de suprimir ruídos ou realçar bordas. Processamento no domínio espacial Exemplos de imagens com alguns problemas que podem ser minimizados. Processamento no domínio espacial Exemplos de imagens com alguns problemas que podem ser minimizados. Processamento no domínio espacial Exemplos de imagens com alguns problemas que podem ser minimizados. Processamento no domínio espacial Exemplos de imagens com alguns problemas que podem ser minimizados. Processamento no domínio espacial Exemplos de imagens com alguns problemas que podem ser minimizados. Processamento no domínio espacial Convolução – Tipos de vizinhança Processamento no domínio espacial Convolução Processamento no domínio espacial Convolução Processamento no domínio espacial Convolução Processamento no domínio espacial Convolução Processamento no domínio espacial Convolução - Média Processamento no domínio espacial Convolução - Exercício Processamento no domínio espacial Para calcular os pixels próximos às bordas, podem ser adotadas diversas estratégias: 1. preencher com zeros o contorno da imagem, de maneira condizente com o tamanho de máscara utilizado. 2. preencher o contorno da imagem com os mesmos valores das primeiras e últimas linhas e colunas. 3. prevenir a eventual introdução de erros nas regiões de bordas da imagem causados por qualquer um dos métodos acima, considerando na imagem resultante apenas os valores para os quais a máscara de convolução ficou inteiramente contida na imagem original. Convolução Processamento no domínio espacial Quando se fala de frequência de uma onda sonora ou sinal de áudio está se referindo à taxa com a qual o sinal varia com o t tempo. Quando se fala de frequência presente em uma imagem está se referindo a mudanças ocorrendo no espaço. Frequência espacial é uma medida de como varia o brilho ou cor a medida que se desloca sobre a imagem. Nas imagens em que os níveis de cinza variam lentamente e suavemente são caracterizadas apenas por componentes com baixa frequências espacial. Imagens com transições repentinas de níveis de cinza, detalhes ou textura forte conterão componentes com altas frequências. Frequência Processamento no domínio espacial Frequência Quais alvos são responsáveis pelas altas frequências e quais os responsáveis pelas baixas frequências? Processamento no domínio espacial Como uma imagem pode ser descrita em termos de frequências espaciais, pode-se definir operações de filtragem para baixas e altas frequências. Realce de imagens que atenuam ou bloqueiam as altas frequências espaciais são chamadas de filtros de baixa-frequência ou passa-baixa. Esses filtros permitem que baixas frequências passem, enquanto as altas são filtradas. Filtros passa baixa tendem a suavizar a imagem, reduzindo ruídos, mas retirando detalhes, por causa do barramento da imagem. • Filtro média • Filtro mediana • Filtro Gaussiano Filtros de baixa frequência – Passa baixa Processamento no domínio espacial O valor do pixel central da imagem é substituído pela média dos valores dos pixels vizinhos sob a janela. Filtros de baixa frequência – Passa baixa - Média Processamento no domínio espacial Qualquer filtro de convolução cujos coeficientes são todos positivos atuará como um filtro de passa baixa. A medida que se aumenta o valor do pixel central do filtro, ou seu peso em relação aos demais vizinhos, reduz-se a influencia dos vizinhos no cálculo do novo pixel, tornando a imagem mais suavizada. No caso mais simples todos coeficientes serão iguais. Filtros de baixa frequência – Passa baixa - Média Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Média Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Média Processamento no domínio espacial Imagem original e resultados da aplicação do filtro da média com máscara de dimensões n x n, n = 3, 5, 7, 17, 31. Filtros de baixa frequência – Passa baixa - Média Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Média Imagem original imagem contaminada por ruído impulsivo (sal e pimenta) filtro média 3x3 filtro média 5x5 Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Aplique o filtro da mediana para imagem abaixo e faça uma análise do efeito provocado. Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Aplique o filtro da mediana para imagem abaixo e faça uma análise do efeito provocado. Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Processamento no domínio espacial Filtros de baixa frequência – Passa baixa - Mediana Processamento no domínio espacial Filtros de baixa frequência – Passa baixa – Filtragem Gaussiana 2 2 2 ( , ) exp 2 x y G x y O operador Gaussiano consiste em uma função de convolução utilizada para remoção de ruídos da imagem. É um filtro gerado pela função densidade de probabilidade de Gauss só que em duas dimensões. Este filtro suaviza a imagem substituindo o valor do pixel central por uma média ponderada dos pixels vizinhos. Nota-se que o gráfico do desvio padrão igual a 20 é mais estreito e pontiagudo que o de 50. Assim, conclui-se que quanto maior o desvio padrão, maior é a largura do filtro Gaussiano, e consequentemente maior é a suavização da imagem Processamento no domínio espacial Filtros de baixa frequência – Passa baixa – Filtragem Gaussiana Processamento no domínio espacial No google >> package octave >> Biblioteca image>> Function reference Imnoise Medfilt2 filter2 Fspecial - Create spatial filters for image processing. imfilter Computes the linear filtering of the image I and the filter F. Observe os valores do interior da matrix irá depender do tamanho da máscara No octave use a função fspecial (average, lengh) >> fspecial (average, 3) fspecial (average, 5) Filtros de baixa frequência – Passa baixa https://octave.sourceforge.io/image/function/fspecial.html https://octave.sourceforge.io/image/function/imfilter.htmlProcessamento no domínio espacial 1) Defina um filtro de media 3x3 que permita a suavização da cena e aplique-o sobre a imagem, por meio do comando filter2 do Octave. a) No mesmo código, defina um filtro com a mesma finalidade, mas na dimensão 5x5. Aplique-o na mesma imagem e verifique o seu efeito, comparando-o com o filtro 3x3; b) Repita o procedimento com o comando conv2 e verifique a diferença. 2) Use agora o filtro da mediana. . Filtros de baixa frequência – Passa baixa Processamento no domínio espacial A maioria dos processos de detecção de bordas baseia-se no fato de que as descontinuidades são, na verdade, uma modificação abrupta do nível de cinza em torno do pixel em estudo, e assim, tal modificação pode ser determinada pela derivada do sinal de cinza na posição do pixel. Detecção de bordas Função nível de cinza: gráfico unidimensional que descreve a função de intensidade para uma linha da imagem em num caso real Gráfico da primeira derivada no local, que apresenta pontos de máximo e mínimo Gráfico da segunda derivada. Verifica-se uma característica ainda mais interessante para a detecção das descontinuidades (apresenta uma passagem por zero-crossing exatamente na localização da descontinuidade. Conhecida também como Laplaciano. Processamento no domínio espacial Para detectar estas descontinuidades pode-se usar métodos de diferenciação de primeira ordem. Esses métodos enfatizam pontos de mudança na função e apresentam resposta nula onde não há variações. Uma mudança na intensidade pode ser detectada diferenciando pixels vizinhos. Várias diferentes máscaras de convolução podem ser construídas de forma a se obter uma aproximação da primeira derivada (utilizando diferenças). Este é o caso dos operadores de Roberts, Sobel e Prewitt. Detecção de bordas Exemplo de máscara de diferenciação: Processamento no domínio espacial A magnitude do gradiente pode ser calculada como a soma dos valores absolutos dos gradientes: Detecção de bordas Como funciona a máscara de diferenciação: i é o índice das linhas (corresponde à coordenada y); j é o índice das colunas (corresponde à coordenada x); ( , )B i j Gx Gy Como os gradientes em x e y são vetores pode-se calcular a resultante da seguinte forma: É importante observar que o ângulo resultante da equação refere-se à direção de máxima variação do gradiente e não da borda. A diferença para a direção da borda é de 90 graus. A expressão permite calcular a direção local do gradiente. O sentido do gradiente é do nível de cinza mais escuro para o nível de cinza mais claro. Outro aspecto a observar é o sentido de contagem dos ângulos de orientação do gradiente. Existem várias outras possibilidades dependendo das máscaras utilizadas. Processamento no domínio espacial Detecção de bordas Como funciona a máscara de diferenciação – Exemplo: Gx = 255 e Gy = 0. Portanto, a magnitude do gradiente: B=255 e a direção α = 0 graus. Observa-se, portanto, a variação máxima do gradiente em x e a borda vertical (90 graus). Gx = -255 e Gy = 0 A magnitude do gradiente: B=255 e a direção α = 180o. Assim, a variação máxima do gradiente em x e a borda vertical (90 ou 270 ). Aplicando o operador de diferenciação ao pixel na posição 1,1 nos seguintes casos a seguir: Gx = 0 e Gy = 255 Portanto, a magnitude do gradiente: B=255 e a direção α = 90. Observa-se, portanto, a variação máxima do gradiente em y e a borda horizontal (0 graus ). Gx = 0 e Gy = -255 Portanto, a magnitude do gradiente: B=255 e a direção α = -90o. Isto ocorre porque o sentido de contagem do eixo y é de cima para baixo, compatível com a ordenação das linhas. Processamento no domínio espacial Detecção de bordas Como funciona a máscara de diferenciação – Exemplo: Aplicando o operador de diferenciação ao pixel na posição 1,1 nos seguintes casos a seguir: Processamento no domínio espacial Operador de Prewitt O detector de Prewitt utiliza as máscaras de convolução que retornam os gradientes em x e y, respectivamente Gx e Gy. As máscaras podem apresentar algumas variantes, dependendo da literatura consultada. Alterando-se os sinais, são produzidas alterações apenas na direção do gradiente, mas não na magnitude. O leitor deve estar atento à forma como as máscaras foram definidas e estudar como as direções serão calculadas em cada caso. No exemplo apresentado na figura, o sentido do eixo y foi alterado, o que resultará numa mudança da orientação do gradiente. Processamento no domínio espacial Operador de Sobel Considerando que os pixels mais próximos do centro devem apresentar uma maior influência sobre o mesmo, o operador de Sobel é definido com valores maiores na região central, e então as máscaras são as que aparecem, Da mesma maneira, são frequentes na literatura as variantes deste operador, o que implica na mudança do valor numérico da direção do gradiente. Processamento no domínio espacial Exemplo com dados reais Os quadros abaixo apresentam os gradientes para cada pixel, calculados com os operadores de Sobel Pode-se verificar que no pixel (1,2) (segunda linha, terceira coluna) a magnitude do gradiente é 441 e a direção local do gradiente é de 36 graus. Nos pixels vizinhos, que possuem magnitude do gradiente mais altos e, portanto, também pertencem à borda, os valores de direção são similares. A direção da borda é o complemento da direção do gradiente. Estas direções são contadas no sentido horário, porque o eixo y aponta para baixo, neste caso. Processamento no domínio espacial Exemplo com dados reais Imagem original Realce de bordas na direção x Realce de bordas na direção y Combinação das bordas nas direções x e y Processamento no domínio espacial Exemplo com dados reais Processamento no domínio espacial Operador Laplace O operador de Laplace ∇2 procura determinar uma aproximação para a segunda derivada, mas fornece apenas a magnitude do gradiente. O laplaciano pode ser aproximado por uma convolução com máscaras do tipo: Processamento no domínio espacial Operador Laplace 3x3 5x5 9x9. Imagem original Processamento no domínio espacial Detecção de bordas por subtração de imagens Referências GONZALEZ, R. C.; WOODS, R. E., Processamento de imagens digitais. São Paulo, SP: E. Blücher, 2000. 509p.ISBN 8521202644 MARQUES FILHO, Ogê; VIEIRA NETO, Hugo. Processamento Digital de Imagens, Rio de Janeiro: Brasport, 1999. ISBN 8574520098. McANDREW, A. Introduction to Digital Image Processing with MatLab. Melborn: Thomson, 509p, 2004. JENSEN, J. R. Introductory digital image processing: a remote sensing perspective. New Jersey: Prentice-Hall. 1986. P 379. PEDRINI, H.; SCHWARTZ, W. R. Análise de Imagens Digitais: Princípios, Algoritmos e Aplicações. São Paulo: Thomson, 2008. Notas de aula. Introdução ao processamento e síntese de imagens. Maurício Galo. Unesp.
Compartilhar