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.