Medindo o contraste de uma imagem

7

Para um projeto, quero medir o contraste de uma imagem global.

Quero comparar imagens diferentes para obter a imagem com o melhor contraste. Eu sei sobre o contraste de Weber, mas preciso de um valor de contraste normalizado (no intervalo entre 0-1 ou outro).

Existe um método simples para fazer isso no openCV?

501 - não implementado
fonte
2
Você pode esclarecer o que você quer dizer com imagem "global"?
Jsca #
11
A imagem inteira
501 - não foi implementada em
11
mhnm pensei laplace é calcular a nitidez.
501 - não implementado
11
Eu já vi usar Laplace no contexto de "contraste local". Existem muitas definições. Depende muito da sua aplicação. Por exemplo, você pode medir apenas o contraste de cores de cada pixel (distância do cinza) ou medir as diferenças nos pixels vizinhos, fazer algumas medições no histograma ou fazer o contraste como diferença entre o ponto mais escuro e o mais claro da imagem.
Libor
2
O desvio padrão dos valores de pixel é uma boa métrica.
30512 Andrey Rubshtein

Respostas:

6

Uma maneira simples de quantificar o contrato em que consigo pensar é através do uso do histograma de imagem. A seguir, minha sugestão

  1. Calcular o histograma da imagem
  2. Das contagens computar entropia

Se você quiser experimentar, pode usar a função embutida do matlab http://www.mathworks.ch/ch/help/images/ref/entropy.html

Você pode usar o valor da entropia do histograma como uma medida do contrato.

mkuse
fonte
2

Uma maneira simples de calcular o contraste é calcular o desvio padrão das intensidades de pixel da imagem em cinza.

Franco Piccolo
fonte