Processamento de imagens: Segundo artigo sobre Histogramas
Continuação da série sobre histogramas, nesse artigo mostraremos o seu uso mais comum em aprimoramento de imagens pela técnica conhecida como equalização global de histogramas.
No post anterior foi explicado brevemente o que são histogramas e como eles podem ser usados em tratamento de imagens. Algumas aplicações onde histogramas são usados: aprimoramento de imagens, classificação de texturas, segmentação de imagens, etc. Neste post mostraremos o seu uso mais comum em aprimoramento de imagens pela técnica conhecida como equalização global de histogramas.
Sabendo-se que um histograma fornece uma ideia geral de como é uma imagem, pode-se então a partir dela tentar equalizar uma imagem que aparentemente esteja escura, pixels com valores baixos no histograma, ou muito clara, pixels com valores elevados no histograma. A ideia é equalizar os valores dos pixels de forma que seus níveis estejam uniformemente espalhados em todo os valores possíveis, tendo como resultado uma melhora no contraste da imagem. A figura 1 exemplifica a transformação ideal de um histograma.
Figura 1: transformação ideal de um histograma.
Olhando o histograma da figura 2, nota-se que os pixels possuem valores abaixo de 90, o que caracteriza uma imagem escura.
Para se gerar o histograma da imagem acima foi usado o seguinte comando no octave:
img = imread('lena_dark.png'); h = imhist(img); plot(h)
A figura 3 mostra o resultado e o histograma associado à imagem após a equalização do histograma da figura 2:
A figura 3 foi gerada a partir dos seguintes comandos:
img = imread('lena_dark.png'); img = double(img); img = img ./ max(img(:)); [x y] = size(img); J = histeq(img, x); imshow(J); I = imhist(J); plot(I);
img = img ./ max(img(:));
[x y] = size(img);
J = histeq(img, x);
I = imhist(J);
Pode-se também equalizar o histograma da imagem pálida usada no post anterior tendo como resultado:
Apesar das imagens serem parecidas, nota-se que o histograma da figura 3 e 4 são diferentes, porém ambos possuem os pixels com valores razoavelmente espalhados entre 0 e 255.
Na figura 5 abaixo comparamos a foto da Lena original em tons de cinza com sua imagem após o tratamento de equalização de histograma e podemos observar que há uma melhora no contraste da foto permitindo perceber maiores detalhes.
A técnica de equalização de histogramas é muito útil para melhorar o contraste de uma imagem. Uma aplicação prática é em reconhecimento de impressões digitais. Vale lembrar que a técnica apresentada possui certas limitações e algumas extensões e variações existem, como casamento de histograma onde se molda o histograma de acordo com a necessidade e equalização local de histogramas, que ao invés de equalizar o histograma de toda a imagem, equaliza apenas uma parte que necessita de tratamento.