Baixe o app para aproveitar ainda mais
Prévia do material em texto
Capítulo 5 – REALCE DE IMAGENS 5.1 – INTRODUÇÃO 5.2 - TRANSFORMAÇÃO DA ESCALA DE CINZA - CONTRASTE 5.3 - FILTRAGEM 5.3.1 - Filtragem Linear 5.3.2 - Filtragem Não-Linear Detector de bordas Filtros Morfológicos Processamento Digital de Imagens2 5.1 – Introdução A interpretação de imagens é, muitas vezes, dificultada pelas degradações inseridas nos processos de geração e visualização da imagem. As técnicas de realce visam melhorar a qualidade visual destas imagens e enfatizar alguma característica de interesse para uma aplicação específica. Essas técnicas são, na maioria, heurísticas e orientadas para o problema; por exemplo um método que é muito útil para realçar imagens de raios-X, não necessariamente, deve ser o melhor para realçar imagens de recursos naturais. Serão considerados dois tipos de transformações de nível de cinza: · modificação da escala de cinza (operações pontuais); · filtragem (operações locais). Na modificação da escala de cinza, o novo valor do ponto depende só do valor antigo deste ponto, enquanto no processo de filtragem o novo valor depende também dos valores dos pontos vizinhos do ponto a ser processado. 5.2 - Transformação da Escala de Cinza - contraste A manipulação do contraste de uma imagem tem como objetivo melhorar a sua qualidade visual sob critérios subjetivos ao olho humano (Mascarenhas e Velasco, 1989). Esse processo não aumenta a quantidade de informação contida na imagem, mas torna mais fácil a sua percepção. É normalmente utilizada como uma etapa de pré-processamento para sistemas de reconhecimento de padrões. Tipicamente, os sensores são capazes de discretizar os valores recebidos da cena em um intervalo máximo que vai de 0 até 255 (8 bits = 256 possíveis valores). Devido à má iluminação, defeitos do sensor ou mesmo às características da cena, o intervalo de valores de intensidade ocupados pelos pixels, presentes em uma imagem, pode ser muito menor que esse intervalo máximo. Diz-se então que a imagem possui baixo contraste, o que torna difícil a sua visualização ou interpretação por um intérprete humano ou um sistema de processamento digital. A Figura 5.1 mostra três imagens com diferentes contrastes. A imagem da Figura 5.1(c) apresenta melhor contraste que os das Figuras 5.1(a) e 5.1(b) porque está representada por NCs mais espalhados na escala de cinza. O contraste de uma imagem pode ser avaliado observando-se o seu histograma. Uma imagem com bom contraste possui um histograma cujas barras estão razoavelmente espalhadas ao longo de todo o intervalo da escala. Observe os exemplos de imagens e seus histogramas nas Figuras 5.1(a), (b) e (c). Os valores de níveis de cinza da imagem na Figura 5.1(a), estão concentrados nos níveis mais baixos da escala de cinza, isto faz com que a imagem pareça escura e com baixo contraste. O contraste da imagem 5.1(b) também é baixo, mudando somente a concentração dos níveis de cinza para valores mais altos, indicando que a imagem é mais clara. O contraste destas imagens pode ser melhorado modificando o histograma para que os níveis de cinza se espalhem em todo intervalo possível da escala de cinza (Fig.5.1(c)). 3 (a) (b) (c) Figura 5.1 – Conceito de contraste. Um realçamento de contraste pode ser feito mapeando as variações dentro do intervalo de tons de cinza [Vmin-Vmax] da imagem original para a variação máxima do dispositivo de visualização que , geralmente, é [0,255]. Vmin e Vmax são os valores de NCs mínimos e máximos, respectivamente, presentes na imagem original. O mapeamento é realizado através de uma função de mapeamento (Figura 5.2). Cada valor de nível de cinza na imagem original é mapeado para um novo valor de acordo com uma função de transferência, que pode ser definida como: )(xfy = , (5.1) onde: x é o nível de cinza original e y é o novo valor correspondente. )(xf )(xh )(yh Figura 5.2 – Função de mapeamento. Processamento Digital de Imagens4 A escolha da função f determina qual será o efeito visual obtido, e deve ser escolhida de acordo com a imagem original e o efeito desejado. Uma representação esquemática da função de transferência e o seu efeito sobre o histograma é mostrada na Figura 5.3. Cada valor de intensidade x é mapeado para um novo valor, y =f(x), e o novo histograma possui um espalhamento maior ao longo de todo o intervalo de valores possíveis. Em uma transformação linear, Os valores de NCs dos pixels são escalonados de tal forma que todos os pixels com valores Vmin e Vmax são mapeados para 0 e 255, respectivamente. Da mesma forma, os outros valores de NC são mapeados para valores entre 0 e 255. O valor intermediário é mapeado para 127 e não para 127,5, já que o valores de tons de cinza devem ser números inteiros. Normalmente, a forma do histograma da imagem realçada é a mesma da imagem original, pois cada barra do histograma continua tendo a mesma altura, porém em uma posição diferente. No entanto, algumas vezes a função de transferência causa uma sobreposição de valores, ou seja, dois ou mais valores x são mapeados para o mesmo valor y . Quando muitos valores de intensidade na imagem original são mapeados para o valor mínimo ou máximo na imagem original diz-se que, ocorreu uma saturação (Overflow) e uma perda de informação, pois pixels que originalmente podiam ser diferenciados na imagem original agora possuem o mesmo valor de intensidade (veja a Figura 5.4). No entanto isto pode ser um efeito desejado, por exemplo, quando as regiões escuras da imagem com Figura 5.3 – Transformação da escala de níveis de cinza para realce da imagem TM-5, banda 3 (Brasília, DF). 5 L-1 L-1 Figura 5.5 - Função de mapeamento por partes, caracterizada por pontos de quebra. pontos de quebra pequenas variações radiométricas correspondem a áreas com o mesmo tipo de cobertura as quais não se deseja diferenciar. Fig. 5.4 – Saturação dos Níveis de Cinza O mapeamento pode ser representado por uma tabela, conhecida por LUT (LookUpTable). Esta tabela mostra os NCs de entrada (imagem original) e de saída (imagem transformada). Cada pixel na imagem original tem o seu valor alterado de acordo com o valor correspondente na tabela. Embora simples, os mapeamentos diretos são úteis em várias aplicações. Por exemplo, a calibração da curva de resposta de um sensor pode ser feita usando um mapeamento adequado. As funções de mapeamento, geralmente, são lineares da forma baxxfy +== )( . Os parâmetros a e b são calculados de tal maneira que a média e desvio padrão das linhas (ou colunas no caso do sistema SPOT) sejam iguais. O efeito de certas distorções atmosféricas ("espalhamento") em imagens de satélite pode ser minimizado simplesmente subtraindo um valor constante do nível de cinza de todos os pontos da imagem, saturando em 0 os valores negativos ("haze removal") (Mascarenhas e Velasco, 1989). A função de mapeamento direto é, em geral, essencialmente empírica. Entretanto, um exame prévio do histograma da imagem é útil. Mascarenhas e Velasco (1989) mostram algumas possibilidades interessantes de mapeamento. Um procedimento de modificação de contraste útil é o mapeamento linear por partes, como por exemplo, a ilustrada na Figura 5.5 . A função de mapeamento é caracterizada por um conjunto de pontos de quebra, que pode ser escolhido pelo usuário. Funções de mapeamento não-lineares podem ser usadas para realçar detalhes específicos na imagem. A seguir mostramos alguns exemplos de funções não lineares. saturação Processamento Digital de Imagens6 · Raiz Quadrada : é descrita pela função xaxfy == )( , onde a é um fator de ajuste a fim de manter os valores de intensidade resultantesdentro do intervalo válido, tipicamente [0,255] (Figura 5.6(a)). Esta função propicia um realce maior nas áreas escuras da imagem. Isso pode ser observado pela inclinação da curva, tanto maior quanto menores os valores de intensidade. · Quadrado : é descrita pela função 2)( axxfy == (Figura 5.6(b)) e propicia um realce maior nas áreas de intensidade média e clara da imagem. · Logaritmo : é descrita pela função )1log()( +== xaxfy (Figura 5.6(c)). Semelhante ao contraste por raiz quadrada, porém realçando um intervalo bastante pequeno de valores escuros. Uma função linear também utilizada é a função negativa, a qual é descrita, matematicamente, pela função )( baxy +-= (Figura 5.7). Ela realiza o mapeamento inverso dos níveis de cinza, de tal forma que pixels com intensidade clara serão mapeados para escuro e vice-versa. A escolha do mapeamento direto adequado é, em geral, essencialmente empírica, mas existe uma classe de métodos nos quais o mapeamento tem por finalidade produzir uma imagem cujo histograma tenha um formato desejado. Um destes métodos é a equalização de histograma. Este método modifica o histograma da imagem original de tal forma que a imagem transformada tenha um histograma uniforme, ou seja, todos os níveis Figura 5.7 – Função negativa. (a) (c) (b) (a) (c) Figura 5.6 – Funções não lineares (a) Raiz Quadrada, (b) Quadrado e (c) Logaritmo. 7 de cinza devem aparecer na imagem com a mesma freqüência. Na prática, a obtenção de um histograma perfeitamente uniforme não é possível devido a natureza das imagens digitais de sensoriamento remoto, cujos pixels podem assumir somente valores discretos (Mather, 1999). Existem técnicas para melhorar este problema (Gonzalez, 1992), mas pode acontecer de áreas homogêneas na imagem original aparecerem "pipocadas", por que tons de cinza iguais são mapeados para NCs diferentes. O processo de equalização pode levar a falsos contornos na imagem, pois o número de níveis de cinza pode ser reduzido. A equalização pode ter um efeito de realce notável da imagem, mas o contraste pode ser muito forte e, por isto a equalização de histograma deve ser usada com muito cuidado. Mais detalhes sobre estes métodos podem ser obtidos em Mascarenhas e Velasco (1989), Richards (1993) e Mather (1999). 5.3 - Filtragem Na filtragem, o nível de cinza de um ponto P após a transformação, depende do valor do nível de cinza original do ponto e de outros pontos da vizinhança de P. Em geral, os pontos mais próximos de P contribuem mais para o novo valor de nível de cinza do que os pontos mais afastados. As operações de filtragem podem ser divididas em duas classes: filtragem linear e filtragem não-linear. A filtragem linear pode ser realizada no domínio do espaço através da operação de convolução e no domínio da frequência pela operação produto. Filtragem no domínio da frequência pode ser visto com detalhes em Richards (1993) and Mather (1999). É comum dividir os filtros em quatro classes: passa-baixas, passa-altas, passa-banda e rejeita-faixa. Um filtro passa-baixas atenua as altas frequências que estão relacionadas com a informação de detalhes da imagem. Um filtro passa-altas realça as altas frequências e são normalmente usados para realçar os detalhes na imagem . Os filtros passa- faixa e rejeita-faixa selecionam um intervalo de frequências do sinal (banda de frequência) para ser realçado ou rejeitado. O efeito visual de um filtro passa-baixas é o de suavização (smoothing) da imagem uma vez que as altas frequências, que correspondem às transições abruptas, são atenuadas. A suavização tende também, pelas mesmas razões, a minimizar o efeito do ruído em imagens. A filtragem passa-baixas tem, por outro lado, o efeito indesejado de diminuir a resolução da imagem (Mascarenhas e Velasco, 1989). Para filtros passa-altas, o efeito obtido é, em geral, o de tornar mais nítidas as transições entre regiões diferentes, conhecidas como bordas. O efeito indesejado destes filtros é o de enfatizar o ruído presente na imagem. O processo de filtragem é realizado através de matrizes denominadas máscaras, as quais são aplicadas sobre a imagem. A aplicação da máscara com centro na posição (i,j), sendo i o número de uma dada linha e j o número de uma dada coluna sobre a imagem, consiste na substituição do valor do pixel na posição (i,j) por um novo valor o qual depende dos valores dos pixels vizinhos e dos pesos da máscara (Figura 5.8). À cada posição da máscara está associado um valor numérico, chamado de peso ou coeficiente. Em cada posição (i,j), os pesos do filtro são multiplicados pelos NCs dos pixels correspondentes e somados, resultando em um novo valor de NC, o qual substitui o antigo NC do pixel central. A operação de filtragem linear é realizada através da operação de convolução. Na operação de Processamento Digital de Imagens8 filtragem devem-se calcular os pontos pertencentes à borda de modo diferente dos demais, já que estes não dispõem de todos os vizinhos. Por questões de simetria usam-se, na definição das máscaras dos filtros, janelas N x N, onde N é um número ímpar. Por questões de eficiência computacional, preferem-se valores pequenos para N (no máximo 7). 5.3.1 - Filtragem Linear Um filtro linear é um sistema linear invariante com o deslocamento que modifica as características em frequência espacial de uma imagem. A filtragem linear pode ser então representada pela operação de convolução. A Figura 5.9 ilustra alguns exemplos de máscaras de filtros passa-baixas. Nos filtros passa-baixas, geralmente, os pesos são positivos e a soma dos pesos é igual a 1 para que média da imagem resultante seja igual à média da imagem original. Os filtros passa-altas são caracterizados pela operação de diferenciação. Desde que a operação de tirar a média é análoga a integração, é natural esperar que a 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 4 2 1 2 1 *1/25 *1/9 *1/10 *1/16 Fig. 5.9 – Exemplos de filtros passa-baixas. Figura 5.8 – A máscara de um filtro 3x3 é sobreposta a imagem na posição (i,j). 9 diferenciação tenha o efeito de realçar a imagem. Isto é, as transições entre diferentes regiões tornam-se mais nítidas. Filtros de diferenciação são caracterizados por possuirem pesos negativos (positivos ou nulos também), e então realçar diferenças na imagem. É através da combinação destes pesos que obtem-se um realce maior ou menor da cena, segundo direções preferenciais de interesse. O efeito indesejável destes filtros é o de enfatizar o ruído existente na imagem. Estes filtros podem ser usados para realçar certas características presentes na imagem tais como bordas, linhas curvas ou manchas. A Figura 5.10 mostra alguns exemplos de filtros passa-altas. Fig. 5.10 – Exemplos de filtros passa-altas. As máscaras na Figura 5.11 são utilizadas para o realçamento de bordas em vários sentidos e são conhecidos por filtros direcionais. O nome dado às máscaras indica a direção ortogonal à borda que será realçada. Assim, a máscara norte realça feições horizontais e assim por diante. Norte 1 1 1 Nordeste 1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1 Leste -1 1 1 Sudoeste -1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 1 1 1 Sul -1 -1 -1 Sudoeste 1 -1 -1 1 -1 1 1 -1 -1 1 1 1 1 1 1 Oeste 1 1 -1 Noroeste 1 1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1 Figura 5.11 - Filtros direcionais. 0 -1 0 -1 4 -1 0 -1 0 -1 -1 -1 -1 8 -1 -1 -1 -1Processamento Digital de Imagens10 Linhas em imagens podem ser detectada através de filtros lineares dados pelas máscaras na Figura 5.12. -0,5 1 -0,5 -0,5 -0,5 -0,5 -0,5 1 -0,5 1 1 1 -0,5 1 -0,5 -0,5 -0,5 -0,5 (a) (b) Figura 5.12 - Máscara para realce de linhas. (a) verticais e (b) horizontais. Os filtros da Figura 5.12 devem ser usados com cautela pois eles podem responder a características que não são linhas, tais como bordas e mesmo picos. Uma solução deste problema é usar operadores não-lineares. 5.3.2 - Filtragem Não-Linear Um exemplo típico de filtro passa-baixas não-linear é o filtro da mediana, que suaviza a imagem sem contudo diminuir sua resolução. No filtro da mediana, os pontos da vizinhança de (x,y), dentro de uma janela na imagem, são ordenados e tomado como novo valor para (x,y) o valor mediano desta ordenação. É possível, também, em vez de tomar a mediana da vizinhança, escolher o valor máximo ou o valor de ordem qualquer. Esta categoria de filtros é conhecida por filtros de ordem. Uma alternativa que produz resultados interessantes é tomar o valor mais frequente de uma vizinhança - a "moda", que elimina ruidos pontuais sem alterar muito as informações da imagem. Detector de bordas A detecção de características tais como bordas, linhas, curvas e manchas pode ser feita também com filtros não-lineares. O problema de detecção de bordas é aquele de indicar uma mudança súbita do nível de cinza entre duas regiões relativamente homogêneas. A operação de detecção de bordas é um problema clássico em processamento digital de imagens e várias abordagens têm sido propostas. A maioria delas baseia-se numa filtragem espacial tipo passa-altas seguida de um processo de limiarização: se a saída do filtro ultrapassa o limiar uma borda local é detectada, caso contrário a borda não é detectada. Para se obter uma detecção de bordas independentemente da direção, pode- se efetuar uma filtragem espacial em duas direções ortogonais, vertical (y) e horizontal (x). Esses dois resultados constituirão as componentes de um vetor gradiente: 11 Ñ = Ñ Ñ é ë ê ù û ú x y , onde: Ñx e Ñy são os gradientes nas direções x e y respectivamente. Operadores não lineares do tipo gradiente foram propostos por vários autores. Roberts introduziu a seguinte operação cruzada ( módulo do gradiente ): [ ] [ ]GR x y g x y g x y g x y g x y( , ) ( , ) ( , ) ( , ) ( , )= - + + + + - +ìí î üý þ 21 1 21 1 , que deve ser comparado a um limiar. Devido ao custo computacional, as operações de elevar ao quadrado e raiz quadrada são, muitas vezes, substituídas pelo valor absoluto das diferenças cruzadas: GR x y g x y g x y g x y g x y( , ) ( , ) ( , ) ( , ) ( , )= - + + + + - +1 1 1 1 , que é mais eficiente. Este operador pode ser representado por duas componentes: 0 1 -1 0 componente horizontal 1 0 0 -1 componente vertical. Uma desvantagem do operador de Roberts é a sua assimetria. Dependendo da direção, certas bordas são mais realçadas que outras, mesmo tendo igual magnitude (Mascarenhas e Velasco, 1989). Um operador gradiente mais sofisticado (3x3) é o operador de Sobel, que é dado pela seguinte expressão: Gs x y X Y( , ) = +2 2 , onde X e Y São as saídas dos filtro dados pelas seguintes máscaras: X = - - - é ë ê ê ê ù û ú ú ú 1 2 1 0 0 0 1 2 1 Y = - - - é ë ê ê ê ù û ú ú ú 1 0 1 2 0 2 1 0 1 . Fig. 5.13 - Filtros Sobel. O operador gradiente de sobel tem a propriedade de realçar linhas verticais e horizontais mais escuras que o fundo sem realçar pontos isolados. A detecção de bordas é obtida pela limiarização da magnitude do gradiente. Diferentes valores de limiar resulta em diferentes mapas de bordas. Se o limiar é muito baixo, muitos pontos são marcados como pontos de borda resultando em bordas grossas ou muitos pontos de bordas isolados. Por outro lado, se o limiar é alto, os segmentos aparecerão finos e quebrados (sem continuidade da borda). Processamento Digital de Imagens12 O uso de filtragem em múltiplas escalas e mapeamento por cruzamento de zeros aumenta a robustez do processo de detecção de bordas e a continuidade espacial dos mapas de bordas (Schowengerdt, 1997). Filtros Morfológicos Os filtros morfológicos exploram as propriedades geométricas dos sinais. Para filtros morfológicos, as máscaras são denominadas de elementos estruturantes. Estes elementos devem apresentar valores 0 ou 1, de modo a considerar ou não, o "pixel" correspondente à posição da matriz. As principais operações são: erosão, dilatação, abertura e fechamento. Erosão: provoca efeitos de erosão das partes claras da imagem (altos níveis de cinza), gerando imagens mais escuras. A operação é realizada substituindo-se o pixel central na janela da imagem, sobreposta pela máscara, pelo valor mínimo dos valores dentro desta janela. Considere a máscara da Fig. 5.14(a) e uma janela da imagem de entrada (Fig.5.14(b)). 0 1 0 3 6 5 3 6 5 3 6 5 1 1 1 2 5 8 2 2 8 2 8 8 0 1 0 2 6 5 2 6 5 2 6 5 (a)Máscara (b)Imagem (c)Erosão (d)Dilatação Fig. 5.14 - Exemplo de uma operação de filtragem morfológica. O valor a ser substituído na posição marcada corresponde ao menor valor da ordenação {2,5,6,8}, no caso, 2 (Fig.5.14(c)). Observe que, somente os valores de tons de cinza correspondentes as posições da máscara com valores igual a 1 foram consideradas na operação de filtragem. Dilatação: provoca efeitos de dilatação das partes claras da imagem (níveis de cinza altos), gerando imagens mais claras. Considera-se o valor máximo dentro da janela de processamento. Para o exemplo anterior, o valor resultante da aplicação deste filtro é o maior valor na ordenação, no caso, 8 (Fig.5.14(d)). A vantagem destas operações é que se pode escolher os elementos estruturantes de acordo com a aplicação. Na Figura 5.15 são apresentados alguns exemplos destes elementos estruturantes. 13 1 1 1 1 0 1 0 1 0 elemento 1 1 1 1 elemento 2 0 1 0 elemento 3 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 elemento 4 1 1 1 elemento 5 0 1 0 elemento 6 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 elemento 7 0 1 0 0 0 1 Fig.5.15- Exemplos de elementos estruturantes. Os filtros de erosão e dilatação, usando o mesmo elemento estruturante, podem ser encadeados gerando novos operadores morfológicos como os de Abertura e fechamento de uma imagem. A abertura é obtida pelo o encadeamento do filtro de erosão seguido pelo filtro de dilatação. Esta operação é ilustrada na Figura 5.16. Neste exemplo, imagine que as áreas hachurada e em branco na Figura 5.16(a) representam o solo e a água, respectivamente. O efeito de erosão é mostrado na Figura 5.16(b). Pode-se notar que a área hachurada é erodida, ou seja, os valores de NCs dos elementos de imagem correspondentes ao solo são substituídos por valores correspondentes à agua. Ilhas e cabos menores do que o elemento estruturante desaparecem e também os istmos são quebrados de istmos. A operação de dilatação restaura a região de solo que foi erodida e agora e dilatada, como mostra a Figura 5.16(c). Figura.5.16 - Efeito da operação de abertura. A operação de fechamento é obtida pelo encadeamento do filtro de dilatação, seguido pelo o de erosão. No exemplo da Figura 5.17, há eliminação de golfos e fechamento de baías. (a)Imagem original (b)erosão (c)abertura Processamento Digital de Imagens14 Fig.5.17 - Efeito da operação de fechamento. Vale observar que, embora os filtros morfológicos tenha um grande potencial na solução de problemas em aplicações na área de sensoriamento remoto, o usuário deve ter um bom conhecimento da teoria de morfologia matemática para usar estes filtros de forma apropriada. Candeias (1999) tem desenvolvido várias metodologias, usando os operadores morfológicos, para análise de imagens de sensoriamento remoto. Os interessados em mais detalhes da teoria da morfologia matemática podem ler Banon e Barrreira (1994).
Compartilhar