Ecualización de histograma
Imagínese qué pasaría si la mayoría de los valores de píxeles de una imagen se concentraran dentro de un rango de valores de píxeles. Por ejemplo, si una imagen es brillante en general, todos los valores de píxeles deben ser altos. Pero una imagen de alta calidad debería tener una amplia distribución de valores de píxeles. Por lo tanto, debes estirar su histograma horizontalmente (como se muestra a continuación). Esto es lo que hace la ecualización del histograma. Normalmente, esta operación mejora el contraste de la imagen.
Este método se suele utilizar para aumentar el contraste global de muchas imágenes, especialmente cuando el contraste de los datos útiles de la imagen es bastante cercano. De esta forma, el brillo se puede distribuir mejor en el histograma. Esto se puede utilizar para mejorar el contraste local sin afectar el contraste general. La ecualización del histograma logra esta función expandiendo efectivamente el brillo usado comúnmente.
Este método es muy útil para imágenes en las que el fondo y el primer plano son demasiado brillantes o demasiado oscuros. Este método puede lograr especialmente una mejor visualización de la estructura ósea en imágenes de rayos X y fotografías sobreexpuestas o subexpuestas. .Mejores detalles. Una ventaja importante de este método es que es una técnica bastante intuitiva y una operación reversible. Si se conoce la función de ecualización, entonces se puede restaurar el histograma original y el esfuerzo computacional no es grande. Una desventaja de este método es que no discrimina en los datos que procesa, lo que puede aumentar el contraste del ruido de fondo y reducir el contraste de la señal útil.
Primero veamos el histograma correspondiente y el histograma acumulativo, y luego usemos OpenCV para realizar la ecualización del histograma.
Podemos ver que la mayor parte del histograma está en la parte con mayor valor de gris, y la distribución está muy concentrada. Y esperamos que la distribución del histograma sea relativamente dispersa y pueda cubrir todo el eje x. Por lo tanto, necesitamos una función de transformación que nos ayude a mapear el histograma actual a un histograma ampliamente distribuido. Esta es la ecualización de histograma.
**Limitar ecualización de histograma adaptativa de contraste CLAHE**
La ecualización de histograma realizada anteriormente cambiará el contraste de toda la imagen, pero en muchos casos, este efecto no es bueno. De hecho, después de realizar la ecualización del histograma, se cambia el contraste del fondo de la imagen. Pero si comparas la vista frontal de la estatua en las dos imágenes, hemos perdido mucha información porque es demasiado brillante.
Principio:
Para resolver este problema, necesitamos utilizar la ecualización de histograma adaptativa CLAHE (ecualización de histograma adaptativa limitada por contraste). En este caso, la imagen completa se dividirá en muchos bloques pequeños, que se denominan "mosaicos" (el tamaño de mosaico predeterminado en OpenCV es 8x8), y luego se realiza la ecualización del histograma en cada bloque pequeño (como antes). Entonces, en cada área, el histograma se concentrará en un área pequeña (a menos que haya interferencia de ruido). Si hay ruido, el ruido se amplificará. Para evitar esto, utilice limitación de contraste.
En CLAHE, cada vecindad de píxeles debe tener un contraste limitado para obtener la función de transformación correspondiente, que se utiliza para reducir la mejora del ruido en AHE. Esto se logra principalmente limitando la mejora del contraste en AHE.
La mejora del ruido de vecindad alrededor de un píxel se debe principalmente a la pendiente de la función de transformación. Dado que el ruido en la vecindad de un píxel es proporcional a la CDF de la vecindad, también es proporcional al valor del histograma de vecindad en el punto. posición central del píxel. Por lo tanto, puede limitar el contraste porque recorta el histograma en el umbral especificado antes de calcular la CDF de la vecindad, como se muestra en la siguiente figura. Este enfoque no solo limita la pendiente de la CDF, sino que también limita la pendiente. pendiente de la función de transformación, donde El umbral utilizado para cortar el histograma se denomina límite de recorte. Este parámetro no solo depende de la normalización del histograma, sino que también depende del tamaño de la vecindad de píxeles, que generalmente se establece entre 3. y 4. entre.
Para cada bloque pequeño, si el contenedor del histograma excede el límite superior de contraste, los píxeles se dispersan uniformemente en otros contenedores y luego se ecualiza el histograma. Finalmente, para eliminar los límites "artificiales" (debidos al algoritmo) entre cada bloque pequeño, se utiliza una diferencia bilineal para realizar una operación de combinación de filtro de capas con la imagen original (opcional).
Implementación:
Referencia:
Sitio web: Ecualización de histograma
Adaptive_histogram_equalization
Libro: " Procesamiento de imágenes digitales " "Tutorial chino de OpenCV-Python"