OpenCV tiene una práctica función cvEqualizeHist() que funciona muy bien en imágenes desvanecidas/de bajo contraste. Sin embargo, cuando se da una imagen de alto contraste, el resultado es de bajo contraste. Tengo la razón: el histograma se distribuye de manera uniforme y esas cosas.Determine si una imagen necesita un contraste automático en OpenCV
La pregunta es: ¿cómo puedo saber la diferencia entre una imagen de bajo contraste y una de alto contraste?
Estoy trabajando en imágenes en escala de grises y estableciendo su contraste de forma adecuada para que el umbralizarlas no elimine el texto que debo extraer (esa es una historia diferente). Sugerencias bienvenidas: especialmente sobre cómo saber si la mayoría de los píxeles de la imagen son de color gris claro (lo que significa que se debe realizar la ecualización histórica) ¡Ayuda!
EDIT: gracias a todos por las numerosas respuestas informativas. Pero el cálculo de la desviación estándar fue suficiente para mis requisitos y, por lo tanto, lo tomo como la respuesta a mi consulta.
Necesito calcular el contraste de una imagen. Lo hice calcificando "meanStdDev" de una imagen. ¿Estoy en lo cierto? A veces obtengo el valor de SD Más de 100. ¿Cuál sería el umbral para un buen Contraste? Y cuál es el rango de SD para convertirlo en una escala de 100. – 2vision2
bien divida SD por 255, ya que el valor de un píxel, suponiendo una imagen de 8 bits, no puede ser más que eso. luego multiplique por su escala adecuada, p. 100. esto se llama normalización. Descanse puede probar diferentes imágenes – AruniRC
Gracias, lo he hecho. ¿Cuál es el umbral de una buena imagen? – 2vision2