Capítulo 4 Transformações radiométricas

As manipulações no domínio espacial ocorrem diretamente sobre os pixels no plano da imagem. As duas principais categorias de transformações de intensidade a nível espacial são transformações radiométricas e filtragem espacial. A filtragem espacial pode ser representada pela expressão (4.1).

\[ g(x,y) = T[f(x, y)] \tag{4.1} \]

O componente \(f(x, y)\) é a imagem de entrada, \(g(x, y)\) é a imagem de saída, e \(T\) é um operador em \(f\) definido em uma vizinhança do ponto \((x, y)\). Este procedimento pode ser aplicado como na Figura 4.1, em que um ponto \((x, y)\) está destacado com sua vizinhança. Geralmente a vizinhança é retangular e bem menor que a imagem, e no caso da Figura é um quadrado de tamanho 3 x 3.

Processamento no domínio espacial [2, p. 69].

Figura 4.1: Processamento no domínio espacial [2, p. 69].

Na filtragem espacial, o valor da intensidade no centro da vizinhança é alterado de um pixel ao outro enquanto se aplica um operador \(T\) aos pixels na vizinhança para gerar a saída na posição central. O processo pode começar no canto superior esquerdo da imagem de entrada e avançar pixel por pixel horizontalmente, uma linha por vez. Nas bordas, os vizinhos externos são ignorados nos cálculos ou se preenche a imagem com uma borda de 0’s ou outros valores predefinidos. A vizinhança e uma operação predefinida \(T\) definem o filtro espacial (também denominada máscara espacial, kernel, template ou janela). A menor vizinhança possível, de tamanho 1 x 1, é tratada como uma função de transformação de intensidade (transformação radiométrica). Na transformação radiométrica, a intensidade \(s\) em cada ponto da imagem \(g\) depende apenas do valor \(r\) em um único ponto na imagem \(f\) , como na expressão (4.2).

\[s = T(r) \tag{4.2}\]

Como as transformações de intensidade operam individualmente nos pixels de uma imagem, são chamadas de técnicas de processamento ponto-a-ponto [2, p. 69]. Este processo é utilizado, por exemplo, para fins de manipulação de contraste e limiarização de imagem. Já a filtragem espacial, também muito aplicada para realce de imagens, é uma técnica de processamento por vizinhança [2, p. 69]. Nesta seção serão apresentados alguns exemplos de realce de imagem, que tem o foco em melhorar o aspecto da imagem, tornando-a mais viável para o seu objetivo. O realce pode ser utilizado para minimizar na imagem efeitos de ruídos, perda de contraste, borramento e distorções.

Na Figura 4.2 são mostradas as três funções radiométricas \(T\) mais básicas aplicadas na transformação de intensidade, frequentemente utilizadas para o realce de imagens. Para cada uma das três funções - linear (transformações de negativo), logarítmica (transformações de log e log inverso) e de potência (transformações de n-ésima potência e n-ésima raiz).

Funções de transformação de intensidade [2, p. 71].

Figura 4.2: Funções de transformação de intensidade [2, p. 71].

4.1 Transformação Linear

O negativo de uma imagem com níveis de intensidade na faixa \([0, L – 1]\) é obtido pela transformação (4.3):

\[s = L – 1 – r \tag{4.3}\]

Esse tipo de processamento pode ser utilizado para realçar detalhes brancos ou cinza em regiões escuras de uma imagem [2, p. 70]. Na Figura 4.3 é exemplificado uma aplicação da transformação de negativo. A imagem original é uma mamografia digital, 4.3(a), mostrando uma pequena lesão. Após a transformação se torna mais fácil analisar o tecido mamário no negativo da imagem 4.3(b).

Transformação Linear (Negativos de Imagens). (a) Mamografia digital original. (b) Negativo da imagem. [2, p. 71].

Figura 4.3: Transformação Linear (Negativos de Imagens). (a) Mamografia digital original. (b) Negativo da imagem. [2, p. 71].

4.2 Transformação Logarítmica

A forma geral da transformação logarítmica é (4.4):

\[s = c log (1 + r) \tag{4.4}\]

em que \(c\) é uma constante e considera-se que \(r \geq 0\). Nas aplicações Log, um dos objetivos é a expansão dos valores de pixels mais escuros em uma imagem, ao mesmo tempo em que se comprime os valores de níveis mais altos [2]. A expansão é quando se mapeia uma faixa estreita de baixos valores de intensidade em uma faixa mais ampla de níveis de saída, como na função Log da Figura 4.4. Na compressão, ocorre o oposto com os valores mais altos de níveis de intensidade. Na transformação logarítmica inversa, comprime-se os pixels mais escuros e se expande os mais claros [2, p. 71].

Uma maneira de avaliar o efeito da transformação logarítmica é utilizar sobre o espectro de Fourier. Na Figura 4.4(a) mostra um espectro de Fourier com valores variando de 0 a 1,5 × 106, com baixo nível de detalhamento. Ao aplicar a transformação Log (com \(c = 1\) neste caso) aos valores do espectro, a faixa de valores do resultado passa a ser de 0 a 6,2, o que melhora o detalhamento na exibição da imagem 4.4(b).

Transformação Logarítmica. (a) Espectro de Fourier. (b) Resultado da aplicação da transformação logarítmica.[2, p. 72].

Figura 4.4: Transformação Logarítmica. (a) Espectro de Fourier. (b) Resultado da aplicação da transformação logarítmica.[2, p. 72].

4.3 Transformação de Potência

As transformações de potência apresentam a forma básica (4.5):

\[s = cr^\gamma \tag{4.5}\]

sendo \(c\) e \(\gamma\) constantes positivas. Ao plotar a transformação de potência para diferentes valores \(\gamma\), e \(c=1\), na Figura 4.5, se observa um comportamento semelhante ao de expansão/compressão da transformação Logarítmica. Curvas de transformação de potência com valores de \(\gamma\) menores que 1 tem um efeito parecido com a função logarítmica, enquanto que para valores de \(\gamma\) maiores que 1 se parecem mais com a logarítmica inversa.

Plotagens da equação \(s = cr^\gamma\) para vários valores de \(\gamma\) [2, p. 72].

Figura 4.5: Plotagens da equação \(s = cr^\gamma\) para vários valores de \(\gamma\) [2, p. 72].

Uma das aplicações da transformação de potência é a correção gama em dispositivos que funcionam de acordo com uma lei de potência, como em computadores [2, p. 72]. Por exemplo, dispositivos de tubo de raios catódicos apresentam relação com a função potência de expoentes variando em aproximadamente 1,8 a 2,5. Para valores de gama próximos de 2,5 a imagem de saída no monitor tende a ser mais escura (Figura 4.6(b)) que a imagem original (Figura 4.6(a)). A imagem corrigida (Figura 4.6(c)) pela correção gama, neste caso com gama menor que 1, gera uma saída (Figura 4.6(d) mais parecida com a imagem original (Figura 4.6(a)).

Correcão Gama. (a) Imagem com variação gradativa de intensidade (gradiente). (b) Imagem vista em um monitor simulado com gama igual a 2,5. (c) Imagem com correção gama. (d) Imagem corrigida vista no mesmo monitor. [2, p. 72].

Figura 4.6: Correcão Gama. (a) Imagem com variação gradativa de intensidade (gradiente). (b) Imagem vista em um monitor simulado com gama igual a 2,5. (c) Imagem com correção gama. (d) Imagem corrigida vista no mesmo monitor. [2, p. 72].

Outra utilidade da transformação de potência pode ser vista na Figura 4.7, em que a imagem original está desbotada, indicando que se deve aplicar uma compressão dos níveis mais baixos e expandir valores mais altos [2, p. 72]. Assim, a transformação foi realizada com gama maior que 1. Os resultados do processamento com \(\gamma = 3, \gamma = 4,\) e \(\gamma = 5\) podem ser vistos nas imagens 4.7(b), 4.7(c) e 4.7(d), respectivamente.

Transformações de potência. (a) Imagem aérea. (b) a (d) Resultados da aplicação da transformação de potência com \(c = 1 \text{ e } \gamma = 3, 4 \text{ e } 5\), respectivamente. [2, p. 74].

Figura 4.7: Transformações de potência. (a) Imagem aérea. (b) a (d) Resultados da aplicação da transformação de potência com \(c = 1 \text{ e } \gamma = 3, 4 \text{ e } 5\), respectivamente. [2, p. 74].

4.4 Processamento de histograma

A distribuição dos níveis de intensidade \(L\) de uma imagem podem ser identificados em um histograma, ou seja, um gráfico com o número de pixels na imagem para cada nível de cinza. Assim, os histogramas podem servir de referência para várias manipulações no domínio espacial, além de fornecer estatísticas das imagens e ser útil em aplicações como compressão e segmentação. O histograma também pode ser interpretado como uma distribuição discreta da probabilidade de ocorrência do nível de intensidade \(r_k\) em uma imagem (4.6) [2, p. 78]:

\[p(r_k) = \frac{n_k}{MN} \text{ para k = 0, 1, 2, ..., L - 1} \tag{4.6}\]

sendo \(M\) e \(N\) as dimensões de linha e coluna da imagem, e \(n_k\) é o número de pixels da imagem com intensidade \(r_k\). Na Figura 4.8, estão identificados quatro histogramas referentes a cada uma das imagens dos grãos de pólen do lado esquerdo. O eixo horizontal de cada histograma corresponde a valores de intensidade, \(r_k\), e o eixo vertical são os valores de \(p(r_k)\). Cada imagem destaca uma característica em relação à intensidade da imagem: escura, clara, baixo contraste e alto contraste.

Na imagem do topo, a mais escura, as barras do histograma estão concentradas no lado inferior esquerdo (escuro) da escala de intensidades, enquanto que na imagem mais clara tendem à região oposta [2, p. 79]. Uma imagem com baixo contraste, aparência desbotada e sem brilho, tem um histograma estreito normalmente localizado no meio da escala de intensidades. Os componentes do histograma na imagem de alto contraste estão distribuídos quase uniformemente em uma ampla faixa da escala de intensidades, com poucas linhas verticais sendo muito mais altas do que as outras. As imagens de alto contraste tendem a apresentar uma boa correspondência em relação aos detalhes de nível de cinza [2, p. 78].

Histogramas de uma imagem com grãos de pólen. De cima para baixo: escura, clara, baixo contraste e alto contraste. [2, p. 79].

Figura 4.8: Histogramas de uma imagem com grãos de pólen. De cima para baixo: escura, clara, baixo contraste e alto contraste. [2, p. 79].

Os histogramas são utilizados em grande parte para auxiliar em transformações de intensidade com foco em melhorar o contraste, tornando mais fácil a percepção de informações de interesse na imagem [3]. Nos exemplos de transformações apresentados nesta seção (linear, logarítmica e de potência), a escolha do operador \(T\) de transformação geralmente é empírica, em que se deve considerar a imagem original e o efeito desejado. Para transformar a imagem de forma que se altere o histograma de uma maneira específica e automática utilizam-se métodos em que o formato dos histogramas são pré-definidos ou atendem a um determinado padrão, como na equalização de histograma e especificação de histograma [2].

4.5 Equalização do histograma

Na equalização do histograma, o histograma da imagem original é alterado de maneira que a imagem transformada tenha uma distribuição aproximadamente uniforme dos níveis de cinza em uma faixa mais ampla de valores, assumindo características próximas de uma imagem de alto contraste [3]. Neste método se aplica um operador de transformação de intensidade \(T\) na forma contínua, Equação (4.7), que gera uma variável aleatória (valores de intensidade da imagem transformada) caracterizada por uma função densidade de probabilidade uniforme (PDF, probability density function) .

\[s = T(r) = (L - 1)\int_{0}^{r} p_r(w)dw \tag{4.7}\]

sendo \(w\) uma variável local de integração, \(L\) os níveis de cinza da imagem e \(p_r(r)\) a PDF de \(r\) (valores de intensidade da imagem original). A demonstração da obtenção da PDF da variável \(s (p_s(s))\), na Equação (4.8), pode ser vista com detalhes no livro “Processamento digital de imagens” [2]. O gráfico das PDF’s de \(r\) e \(s\) estão identificados na Figura 4.9 como \(p_r(r)\) e \(p_s(s)\).

\[p_s(s) = \frac{1}{L-1} \text{ para } 0 \leq s \leq L - 1 \tag{4.8}\]

Equalização de histograma na forma contínua. (a) Uma PDF arbitrária. (b) Resultado da aplicação da transformação para equalização [2, p. 81].

Figura 4.9: Equalização de histograma na forma contínua. (a) Uma PDF arbitrária. (b) Resultado da aplicação da transformação para equalização [2, p. 81].

Para que esses conceitos sejam aplicados no processamento de imagens, eles devem ser expressos na forma discreta, Equação (4.9).

\[s_k = T(r_k) = (L - 1) \sum_{j=0}^{k}p_r(r_j) = \frac{(L-1)}{MN}\sum_{j=0}^{k}n_j \text{ para } k = 0, 1, 2,\dots, L - 1 \tag{4.9}\]

Esta expressão deve ser aplicada para cada pixel da imagem de entrada com intensidade \(r_k\), obtendo-se um pixel correspondente com nível \(s_k\) na imagem de saída, estes resultados são arredondados para o nível de cinza mais próximo, que é um valor inteiro. Diferente do equivalente contínuo, não pode ser provado (em geral) que a equalização de um histograma discreto resulta em um histograma uniforme [2, p. 81]. No entanto, como identificado na Figura 4.10, a equalização discreta tende a espalhar o histograma da imagem de entrada, aumentando o intervalo da escala de intensidade.

Equalização de histograma[3, p. 113].

Figura 4.10: Equalização de histograma[3, p. 113].

4.6 Especificação de histograma

Algumas vezes é útil poder especificar o formato do histograma da imagem processada. O método conhecido como especificação de histograma modifica uma imagem para que seu histograma tenha uma distribuição particular[3].

Sejam, \(p_r(r)\) e \(p_z(z)\), as funções densidade de probabilidade (PDF) original e especificada, respectivamente. Pela Equação (4.9), o histograma da imagem original pode ser equalizado, representado pela transformação \(T\).

Na Figura 4.11(a), \(T_2(z)\) é a função de transformação que realiza a equalização do histograma especificado. O método para obter os níveis de cinza \(z\) da imagem processada envolve o cálculo da função de transformação inversa \(z = T_2^{-1}(s)\), como identificado na Figura 4.11(b). O termo \(s\) corresponde às intensidades da imagem equalizada para os dois caminhos de transformação e \(p_s(s)\) a sua PDF.

Etapas de especificação de histograma. (a) equalização do histograma especificado pela função \(T_2(z)\). (b) cálculo da função de transformação inversa \(T_2^{-1}(s)\)[3, p. 116].

Figura 4.11: Etapas de especificação de histograma. (a) equalização do histograma especificado pela função \(T_2(z)\). (b) cálculo da função de transformação inversa \(T_2^{-1}(s)\)[3, p. 116].

Assim, a especificação de histograma envolve a aplicação de duas transformações, \(T_1(r)\) seguida de \(T_2^{-1}(s)\). Na forma discreta não é necessário calcular a função inversa \(T_2^{-1}(s)\), é possível determinar os valores de \(z\) de forma mais direta por mapeamento em tabela[2]. Após o cálculo das duas transformações, \(T_1(r)\) e \(T_2(z)\), os valores são arredondados para os valores inteiros mais próximos no intervalo \([0, L – 1]\). Com os valores organizados em uma tabela, se faz o mapeamento de cada valor \(s_k\), procurando a melhor correspondência nos valores obtidos em \(T_2(z_q)\), determinando a solução mais próxima \(z_q\).

Estas etapas ficam mais compreensíveis ao se aplicar a um exemplo. Suponha que uma imagem de 3 bits \((L = 8)\) de dimensões 64 × 64 pixels \((MN = 4096)\) tenha a distribuição de intensidade da Figura 4.12, na qual os níveis de cinza são números inteiros no intervalo \([0, L – 1] = [0, 7]\).

Distribuição de intensidades para uma imagem digital de 3 bits, 64 × 64 pixels[2, p. 83].

Figura 4.12: Distribuição de intensidades para uma imagem digital de 3 bits, 64 × 64 pixels[2, p. 83].

O histograma da imagem hipotética é apresentado na Figura 4.13(a). Os valores ajustados do histograma equalizado \(s\), obtidos pela função \(s =T_1(r)\), Equação (4.9), são: \(s_0 = 1, s_1 = 3, s_2 = 5, s_3 = 6, s_4 = 6, s_5 = 7, s_6 = 7, s_7 = 7\)

Exemplo de especificação de histograma. (a) Histograma de uma imagem de 3 bits. (b) Histograma especificado desejado. (c) Função de transformação obtida a partir do histograma especificado desejado. (d) Resultado da especificação do histograma.[2, p. 88].

Figura 4.13: Exemplo de especificação de histograma. (a) Histograma de uma imagem de 3 bits. (b) Histograma especificado desejado. (c) Função de transformação obtida a partir do histograma especificado desejado. (d) Resultado da especificação do histograma.[2, p. 88].

No próximo passo, todos os valores de \(T_2(z_q)\) são calculados da mesma forma que \(T_1(r)\), Equação (4.9) de equalização, em que os valores de \(p_z(z_q)\) estão na Figura 4.14. Os resultados desta segunda etapa estão na Figura 4.15 e a função de transformação é esboçada na Figura 4.13(c).

Histograma especificado[2, p. 88].

Figura 4.14: Histograma especificado[2, p. 88].

No terceiro passo, sendo \(G(z_q) = T_2(z_q)\), verifica-se o menor valor de \(z_q\) na Figura 4.15 de modo que \(G(z_q)\) seja o mais próximo possível de \(s_k\) . Isso é feito para todos os valores de \(s_k\) para criar os mapeamentos necessários de \(s\) em \(z\), Figura 4.16.

Valores da função de transformação \(G(z_q) = T_2(z_q)\) arredondados[2, p. 88].

Figura 4.15: Valores da função de transformação \(G(z_q) = T_2(z_q)\) arredondados[2, p. 88].

Na última etapa, o mapeamento na Figura 4.16 juntamente com a distribuição dos pixels na Figura 4.12 é utilizado para mapear cada pixel na imagem do histograma equalizado \(p_s(s)\) em um pixel correspondente na imagem do histograma especificado recém-criado \(p_z(z)\). O histograma resultante da especificação, calculado com base na equação (4.6) é esboçado na Figura 4.13(d).

Mapeamentos dos valores de \(s_k\) nos valores correspondentes de \(z_q\).[2, p. 89].

Figura 4.16: Mapeamentos dos valores de \(s_k\) nos valores correspondentes de \(z_q\).[2, p. 89].

Refêrencias

[2] R. C. Gonzalez e R. C. Woods, Processamento digital de imagens, 3º ed. São Paulo: Pearson Prentice Hall, 2010.

[3] H. Pedrini e W. Robson Schwartz, Analise de imagens digitais: principios, algoritmos e aplicações, 3º ed. São Paulo: Thomson Learning Edicoes Ltda, 2007.