EN JA ZH ES

Ecualización de histograma para mejorar el contraste - Optimización de la distribución de brillo

· 9 min de lectura

Relación entre histograma y contraste de imagen

El histograma de una imagen muestra la distribución de la cantidad de píxeles en cada nivel de brillo. La forma del histograma refleja directamente las características de contraste de la imagen.

Interpretación del histograma:

  • Concentrado a la izquierda: imagen globalmente oscura (subexpuesta)
  • Concentrado a la derecha: imagen globalmente clara (sobreexpuesta)
  • Concentrado en el centro: bajo contraste, aspecto grisáceo
  • Distribución uniforme: alto contraste, rica gradación de claros y oscuros

Objetivo de la mejora de contraste: «estirar» el histograma concentrado hacia una distribución más uniforme, para que la imagen utilice todo el rango de brillo disponible y se mejore el contraste visual.

Ecualización global del histograma - Principio e implementación

La ecualización global del histograma mapea los valores de brillo originales a nuevos valores mediante la función de distribución acumulada (CDF), para que el histograma de salida sea lo más uniforme posible.

Pasos del algoritmo:

  • Calcular el histograma de escala de grises de la imagen (256 bins)
  • Calcular la función de distribución acumulada (CDF): la CDF de cada nivel de gris = suma de píxeles de ese nivel y todos los inferiores / total de píxeles
  • Mapeo: nuevo valor de gris = round(CDF × 255)

Efectos:

  • El contraste de imágenes de bajo contraste mejora significativamente
  • Los detalles en sombras y luces se hacen visibles
  • El histograma se vuelve más uniforme (pero no completamente plano)

Limitaciones:

  • El procesamiento global puede mejorar excesivamente algunas zonas (por ejemplo, amplificar el ruido en el cielo)
  • Puede producir efectos no naturales en imágenes que ya tienen buen contraste
  • No considera las características locales, pudiendo perder contraste local

OpenCV: equalized = cv2.equalizeHist(gray_image)

CLAHE - Ecualización adaptativa de histograma con limitación de contraste

CLAHE (Contrast Limited Adaptive Histogram Equalization) divide la imagen en bloques pequeños que se ecualizan por separado, limitando la amplitud de la mejora de contraste para evitar la amplificación del ruido.

Mejoras de CLAHE:

  • Adaptativo (Adaptive): divide la imagen en bloques de 8×8 (por defecto), calculando el histograma y el mapeo de forma independiente para cada bloque
  • Limitación de contraste (Contrast Limited): establece un límite superior para los bins del histograma (clipLimit); el exceso se distribuye uniformemente entre los demás bins, evitando la mejora excesiva
  • Interpolación bilineal: los resultados del mapeo de bloques adyacentes se suavizan mediante interpolación, eliminando los bordes de bloque

Parámetros:

  • clipLimit: umbral de limitación de contraste. Mayor valor = mejora más fuerte, menor valor = más conservador. Por defecto 2.0-4.0
  • tileGridSize: tamaño de bloque. (8,8) es un valor común. Bloques más pequeños = más localizado

OpenCV: clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8)); result = clahe.apply(gray)

Ventajas: más natural que la ecualización global, amplificación de ruido controlable, mejor mejora de detalles locales. Es el método estándar para la mejora de imágenes médicas.

Ecualización de histograma en imágenes a color

Las imágenes a color no pueden ecualizarse directamente en los tres canales RGB por separado, ya que esto produciría desviaciones de color. Es necesario procesar en un espacio de color adecuado.

Método correcto:

  • Convertir a YCrCb/HSV/LAB: separar la luminancia del color
  • Ecualizar solo el canal de luminancia: canal Y (YCrCb), V (HSV) o L (LAB)
  • Convertir de vuelta a RGB: mantener el color sin cambios, modificando solo la distribución de brillo

Selección del espacio de color:

  • YCrCb: buena ecualización del canal Y, cálculo simple
  • LAB: el canal L se aproxima más a la percepción de brillo del ojo humano, resultados más naturales
  • HSV: la ecualización del canal V puede alterar la percepción de saturación

Implementación: ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb); ycrcb[:,:,0] = cv2.equalizeHist(ycrcb[:,:,0]); result = cv2.cvtColor(ycrcb, cv2.COLOR_YCrCb2BGR)

Escenarios de aplicación de la ecualización de histograma

La ecualización de histograma tiene aplicaciones importantes en múltiples campos, especialmente en escenarios donde la calidad de imagen no es controlable.

Escenarios de aplicación:

  • Imágenes médicas: mejora de contraste en radiografías, TC, resonancias magnéticas. CLAHE es un paso de preprocesamiento estándar
  • Imágenes satelitales: mejora de imágenes de bajo contraste causado por la dispersión atmosférica
  • Videovigilancia: mejora de imagen en condiciones de baja iluminación
  • Imágenes submarinas: corrección de la atenuación del color y bajo contraste causados por la absorción del agua
  • Escaneo de documentos: mejora de imágenes de documentos con iluminación desigual

Como preprocesamiento:

  • Ecualizar antes de la detección de características (SIFT, ORB) puede aumentar la cantidad y calidad de los puntos de interés
  • Mejorar el contraste entre texto y fondo antes del OCR mejora la tasa de reconocimiento
  • Mejorar los detalles en sombras antes de la detección de objetos mejora la tasa de detección

Más allá de la ecualización - Otros métodos de mejora de contraste

La ecualización de histograma no es el único método de mejora de contraste. Según las necesidades se pueden elegir otras técnicas.

Métodos alternativos:

  • Estiramiento de histograma (lineal): mapea linealmente el rango de brillo utilizado a [0, 255]. Más suave que la ecualización, no cambia la forma de la distribución
  • Corrección gamma: output = input^gamma. gamma < 1 aclara las sombras, gamma > 1 oscurece las luces. Simple y controlable
  • Transformación logarítmica: output = c * log(1 + input). Comprime el rango de alta luminancia, expande el de baja luminancia
  • Retinex: simula el mecanismo de adaptación al brillo del ojo humano. Versiones SSR (escala única) y MSR (multiescala)

Recomendaciones de selección:

  • Se necesita automatización sin parámetros → ecualización de histograma
  • Se necesita un grado de mejora controlable → CLAHE (ajustar clipLimit)
  • Se necesita mantener un aspecto natural → corrección gamma o estiramiento de histograma
  • Se necesita tratar también la iluminación desigual → Retinex

Artículos relacionados

Cómo leer histogramas y aplicar corrección de exposición - Comprender la luminosidad de imágenes numéricamente

Desde la lectura correcta de histogramas de imagen hasta la corrección de exposición práctica. Incluye métodos de detección de luces quemadas y sombras aplastadas, y flujos de trabajo para lograr la exposición correcta.

Introducción a la corrección de color de imágenes - Fundamentos de balance de blancos y curvas de tono

Aprende los fundamentos de la corrección de color de imágenes para principiantes, incluyendo ajuste de balance de blancos y manipulación de curvas de tono. Domina las técnicas para lograr una reproducción de color natural y hermosa.

Coincidencia de histograma para unificar el color - Unificación tonal entre múltiples imágenes

Explicación sistemática de la técnica de coincidencia de histograma. Cubre principios, métodos de implementación, unificación de color en múltiples imágenes y consistencia cromática en vídeo.

Tipos de umbralización de imágenes y determinación óptima del umbral - Del método de Otsu a la umbralización adaptativa

Explicación sistemática del procesamiento de binarización de imágenes. Cubre umbral fijo, método de Otsu y umbralización adaptativa con diseño práctico de umbrales para imágenes de documentos y sensores.

Fundamentos del etalonaje fotográfico - Contar historias a través del color

Aprende etalonaje fotográfico desde lo básico hasta la práctica. Domina temperatura de color, curvas de tono, ruedas de color y técnicas cinematográficas con recetas concretas.

Análisis profundo del algoritmo de unión panorámica - De la detección de características a la fusión sin costuras

Explicación detallada del proceso completo de unión de imágenes panorámicas, incluyendo coincidencia de características, estimación de homografía, deformación de imagen, compensación de exposición, búsqueda de costuras y fusión multibanda.

Términos relacionados