Equalização do histograma

Já vimos que o contraste pode ser aumentado usando o alongamento do histograma. Neste tutorial, veremos como a equalização do histograma pode ser usada para aumentar o contraste.

Antes de realizar a equalização do histograma, você deve conhecer dois conceitos importantes usados ​​na equalização de histogramas. Esses dois conceitos são conhecidos como PMF e CDF.

Eles são discutidos em nosso tutorial de PMF e CDF. Visite-os para compreender com sucesso o conceito de equalização de histograma.

Equalização do histograma

A equalização do histograma é usada para aumentar o contraste. Não é necessário que o contraste seja sempre aumentado neste. Pode haver alguns casos em que a equalização do histograma pode ser pior. Nesses casos, o contraste é reduzido.

Vamos começar a equalização do histograma tomando a imagem abaixo como uma imagem simples.

Imagem

Histograma desta imagem

O histograma desta imagem é mostrado abaixo.

Agora vamos realizar a equalização do histograma para ele.

PMF

Primeiro, temos que calcular o PMF (função de massa de probabilidade) de todos os pixels nesta imagem. Se você não sabe como calcular o PMF, visite nosso tutorial de cálculo do PMF.

CDF

Nossa próxima etapa envolve o cálculo de CDF (função distributiva cumulativa). Novamente, se você não sabe como calcular o CDF, visite nosso tutorial de cálculo do CDF.

Calcule o CDF de acordo com os níveis de cinza

Vamos, por exemplo, considerar isso, que o CDF calculado na segunda etapa se parece com isso.

Valor do nível de cinza CDF
0 0,11
1 0,22
2 0,55
3 0,66
4 0,77
5 0,88
6 0,99
7 1

Então, nesta etapa, você multiplicará o valor de CDF por (Níveis de cinza (menos) 1).

Considerando que temos uma imagem de 3 bpp. Então, o número de níveis que temos é 8. E 1 subtrai 8 é 7. Portanto, multiplicamos o CDF por 7. Aqui o que obtivemos após a multiplicação.

Valor do nível de cinza CDF CDF * (Níveis-1)
0 0,11 0
1 0,22 1
2 0,55 3
3 0,66 4
4 0,77 5
5 0,88 6
6 0,99 6
7 1 7

Agora temos a última etapa, na qual devemos mapear os novos valores de nível de cinza em número de pixels.

Vamos supor que nossos antigos valores de níveis de cinza tenham esse número de pixels.

Valor do nível de cinza Frequência
0 2
1 4
2 6
3 8
4 10
5 12
6 14
7 16

Agora, se mapearmos nossos novos valores para, é isso que temos.

Valor do nível de cinza Novo valor de nível de cinza Frequência
0 0 2
1 1 4
2 3 6
3 4 8
4 5 10
5 6 12
6 6 14
7 7 16

Agora mapeie esses novos valores no histograma e pronto.

Vamos aplicar essa técnica à nossa imagem original. Após a aplicação, obtivemos a imagem a seguir e seu histograma a seguir.

Imagem de equalização de histograma

Função distributiva cumulativa desta imagem

Histograma Histograma de equalização

Comparando histogramas e imagens

Conclusão

Como você pode ver claramente pelas imagens, o contraste da nova imagem foi aprimorado e seu histograma também foi equalizado. Há também uma coisa importante a ser observada aqui que, durante a equalização do histograma, a forma geral do histograma muda, enquanto no alongamento do histograma, a forma geral do histograma permanece a mesma.