Realce de Contraste

Veja como manipular o contraste no SPRING

A técnica de realce de contraste tem por objetivo melhorar a qualidade das imagens sob os critérios subjetivos do olho humano. É normalmente utilizada como uma etapa de pré-processamento para sistemas de reconhecimento de padrões.

O contraste entre dois objetos pode ser definido como a razão entre os seus níveis de cinza médios.

A manipulação do contraste consiste numa transferência radiométrica em cada "pixel", com o objetivo de aumentar a discriminação visual entre os objetos presentes na imagem. Realiza-se a operação ponto a ponto, independentemente da vizinhança.

Esta transferência radiométrica é realizada com ajuda de histogramas, que são manipulados para obter o realce desejado. Veja mais sobre o que é um Histograma ?

NOTAS:

Como veremos a seguir o SPRING permite a manipulação de contraste através de várias opções acessadas no item de menu Operações, tais como:

Outras técnicas de Processamento de Imagem

 


Opção - Mínimo Máximo

A manipulação de histograma pela opção MinMax é idêntica a manipulação de uma curva linear como será apresentado a seguir. A diferença está no momento em que é feita a escolha da opção.


Histograma Max/Min

Como pode-se observar na figura acima, assim que é feita a opção, o sistema calcula o valor de nível de cinza mínimo e máximo que é ocupado pela imagem original. De posse desses valores é aplicada uma transformação linear onde a base da reta é posicionada no valor mínimo e o topo da reta no valor máximo. Desse modo não haverá perda de informação por “overflow”, isto é, todos os níveis de cinza continuarão com o mesmo número de pixels.

Um “overflow” ocorre quando muitos pixels de níveis de cinza diferentes são transformados em um único nível, isto é, quando a inclinação da reta de transferência é exagerada. Observe na figura abaixo, onde a seta de “overflow” está indicando, significa perda de informação, uma vez que pixels de colunas vizinhas do histograma de entrada, que originalmente podiam ser diferenciados com base no seu nível de cinza, serão fundidos numa só coluna e passarão a ter o mesmo nível de cinza (0 para o caso da figura abaixo)


Histograma c/ overflow

OBS.: A ocorrência de “overflow” é muitas vezes desejada, uma vez que o usuário sabe em que intervalo de níveis de cinza está o que deseja realçar. Pois caso contrário estará definitivamente perdendo a informação quando salvar a imagem realçada.

Operações de Contraste


Opção - Linear

O aumento de contraste por uma transformação linear é a forma mais simples das opções. A função de transferência é uma reta e apenas dois parâmetros são controlados: a inclinação da reta e o ponto de intersecção com o eixo X (veja figura abaixo). A inclinação controla a quantidade de aumento de contraste e o ponto de intersecção com o eixo X controla a intensidade média da imagem final.

A função de mapeamento linear pode ser representada por:
Y = AX + B onde:
Y = novo valor de nível de cinza;
X = valor original de nível de cinza;
A = inclinação da reta (tangente do ângulo);
B = fator de incremento, definido pelos limites mínimo e máximo fornecidos pelo usuário.

N
Histograma Linear

No aumento linear de contraste as barras que formam o histograma da imagem de saída são espaçadas igualmente, uma vez que a função de transferência é uma reta. Como podemos observar na figura acima, o histograma de saída será idêntico, em formato, ao histograma de entrada, exceto que ele terá um valor médio e um espalhamento diferentes.

Operações de Contraste


Opção - Raiz Quadrada

Utiliza-se a opção de transformação por raiz quadrada para aumentar o contraste das regiões escuras da imagem original. A função de transformação é representada pela curva, como mostra a figura abaixo. Observe que a inclinação da curva é tanto maior quanto menores os valores de níveis de cinza.

Pode ser expresso pela função:

onde:

Y = nível de cinza resultante
X = nível de cinza original
A = fator de ajuste para os níveis de saída ficarem entre 0 e 255.


Histograma Raiz Quadrado

NOTA: Este mapeamento difere do logarítmico porque realça um intervalo maior de níveis de cinza baixos (escuros), enquanto o logarítmico realça um pequeno intervalo.

Operações de Contraste


Opção - Quadrado

Utiliza-se este mapeamento quando se deseja aumentar o contraste de feições claras (altos níveis de cinza da imagem). Observe na figura abaixo que o aumento de contraste é maior a partir da média do histograma, mesmo havendo um deslocamento geral para a região de níveis mais escuros.


Histograma Quadrado

A função de tranformação é dada pela equação:

onde:

X = nível de cinza original
Y = nível de cinza resultante
A = fator de ajuste para os níveis de saída estarem entre 0 e 255

Operações de Contraste


Opção - Logaritmo

O mapeamento logarítmico de valores de níveis de cinza é útil para aumento de contraste em feições escuras (valores de cinza baixos). Equivale a uma curva logarítmica como mostrado na figura a seguir.

A função de transformação é expressa pela equação:

Y = A log (X + 1) onde:

Y = novo valor de nível de cinza
X = valor original de nível de cinza
A = fator definido a partir dos limites mínimo e máximo da tabela, para que os valores estejam entre 0 e 255.


Histograma Logaritmo

NOTA: Observe na figura acima que há uma porção menor de níveis de cinza sobre um grande aumento de contraste, comparado com a transformação por raiz quadrada, mencionada anteriormente.

Operações de Contraste


Opção - Negativo

É uma função de mapeamento linear inversa, ou seja, o contraste ocorre de modo que as áreas escuras (baixos valores de nível de cinza) tornam-se claras (altos valores de nível de cinza) e vice-versa. A figura a seguir mostra sua representação.


Histograma Negativo

A função de mapeamento negativa pode ser representada por:

Y = - (AX + B) onde

Y = novo valor de nível de cinza

X = valor original de nível de cinza

A = inclinação da reta (tangente do ângulo)

B = fator de incremento, definido pelos limites mínimo e máximo fornecidos pelo usuário.

NOTAS: Atente para o fato de que em todas as opções mencionadas até o momento, um “overflow” pode ocorrer.

Todas as opções de contraste mencionadas acima têm o modo de operação igual ao descrito no item Manipulando um Histograma da operação.

Operações de Contraste


Opção - Equalização de Histogramas

É uma maneira de manipulação de histograma que reduz automaticamente o contraste em áreas muito claras ou muito escuras, numa imagem. Expande também os níveis de cinza ao longo de todo intervalo. Consiste em uma transformação não-linear que considera a distribuição acumulativa da imagem original, para gerar uma imagem resultante, cujo histograma será aproximadamente uniforme (veja figura abaixo).

A opção de equalização parte do princípio que o contraste de uma imagem seria otimizado se todos os 256 possíveis níveis de intensidade fossem igualmente utilizados ou, em outras palavras, todas as barras verticais que compõem o histograma fossem da mesma altura. Obviamente isso não é possível devido à natureza discreta dos dados digitais de uma imagem de sensoriamenro remoto. Contudo, uma aproximação é conseguida ao se espalhar os picos do histograma da imagem, deixando intocadas as partes mais “chatas” do mesmo. Como pode-se observar na figura abaixo, esse processo é obtido através de uma função de transferência que tenha uma alta inclinação toda vez que o histograma original apresentar um pico, e uma baixa inclinação no restante do histograma.


Equalização de Histogramas

O SPRING apresenta a seguinte função de equalização de histograma:

onde :

faxi = freqüência acumulada para o nível de cinza xi

Pt = população total (número total de "pixels")

NOTA: A opção de equalização é automaticamente calculada e apresentada, de modo que o usuário não poderá alterar a forma ou posição da curva, permanecendo a tela no modo estático.

Operações de Contraste


Opção - Fatia

A opção fatia (ou fatiamento de níveis de cinza) é uma forma de aumento de contraste cuja operação consiste simplesmente em realçar os pixels cujas intensidades situam-se dentro de um intervalo específico (a fatia), isto é, entre um máximo e um mínimo. Consiste na divisão do intervalo total de níveis de cinza de determinadas fatias (ou classes de cores).

O fatiamento de níveis de cinza é considerado a forma mais simples de classificação pois é aplicado apenas a uma única banda espectral.

De acordo com o critério de determinação dos intervalos de níveis de cinza, pode-se obter fatiamento normal, equidistribuição e arco-íris.


Fatiamento normal: as fatias são definidas de modo que o intervalo entre cada faixa seja constante.


Fatiamento Normal

Fatiamento equidistribuição: o intervalo de níveis de cinza é dividido de modo que cada faixa contenha o mesmo número de pontos.


Fatiamento Equidistribuido

Fatiamento arco-íris: é o mapeamento de um tom de cinza para uma determinada cor. Baseia-se no fato de que variações de cores são muito mais visíveis ao olho humano do que variações de tons de cinza. O mapeamento global desses níveis para o espaço de cor segue a seqüência do arco-íris.


Fatiamento em Arco-Iris

No SPRING o fatiamento de níveis de cinza é feito de modo interativo, onde o usuário define o tipo de fatiamento e o número de fatias. Veja como fazer em Fatiamento de Níveis de Cinza.

Operações de Contraste


Opção - Edição

Permite a aplicação de uma tabela de transformação radiométrica definida pelo usuário. O seu objetivo é salientar um aspecto específico da imagem que o usuário deseja analisar.

Exemplo: caso em que uma imagem apresenta regiões escuras (baixos níveis de cinza) dentro de uma área com pequenas variações radiométricas que não são de interesse. Pode-se utilizar o limite de saturação para realçar ou amenizar o contraste de alguma característica da imagem. A figura a seguir ilustra o efeito da variação do limiar de saturação.


Edição com limiar

Se o histograma apresenta dois picos de freqüência (bimodal), pode-se segmentar a imagem em duas classes definidas por um limiar (L). Esta operação é útil para separar dois grandes grupos de níveis de cinza na imagem.


Edição em Bimodal

Quando a imagem em que se está trabalhando apresenta um histograma assimétrico, como é freqüentemente observado, não é aconselhável trabalhar com uma transformação linear simples. Neste caso, o usuário com a ajuda de um cursor, pode especificar na tela uma transformação linear por partes. Isto oferece um maior grau de liberdade na especificação do histograma de saída, reduzindo a assimetria do histograma e utilizando melhor o intervalo de níveis de cinza disponível. Veja figura:


Edição com inclinações diferentes

A figura abaixo mostra uma reta com três pontos, onde o novo histograma foi calculado de modo que apenas as extremidades do histograma de entrada foi realçado, enquanto que o segmento de reta na horizontal fez com que a parte central do histograma de entrada seja reduzido a um nível de cinza único, causando um “overflow” nesta regiäo.


Exemplo de Edição

Veja como editar um histograma em Para Editar um Histograma.

Operações de Contraste