EN JA ZH ES

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

· 9 min de lectura

Fundamentos de la umbralización - El propósito de separar imágenes en blanco y negro

La umbralización (binarización) compara cada píxel de una imagen en escala de grises con un valor umbral, convirtiéndolo en blanco (255) o negro (0). Se utiliza frecuentemente en las etapas iniciales de los pipelines de procesamiento de imágenes como preprocesamiento esencial para detección de contornos, OCR, conteo de objetos y más.

Por qué binarizar: Muchas tareas de análisis de imágenes requieren una separación clara entre objetos (primer plano) y fondo. Mientras que las imágenes en escala de grises contienen 256 niveles de información, la clasificación binaria es suficiente para decisiones como "texto o fondo", "célula o medio" o "defecto o normal". La binarización reduce el volumen de información, haciendo el procesamiento posterior más rápido y robusto.

Definición matemática:

dst(x,y) = maxval if src(x,y) > thresh

dst(x,y) = 0 otherwise

Tipos de umbralización:

  • Umbral global: Aplica un único umbral a toda la imagen. Efectivo cuando la iluminación es uniforme.
  • Umbral adaptativo: Calcula umbrales locales por píxel. Esencial cuando la iluminación no es uniforme.
  • Umbral multinivel: Clasifica en 3 o más niveles usando múltiples umbrales. Usado para segmentación multietapa.

OpenCV proporciona cv2.threshold() para umbralización global y cv2.adaptiveThreshold() para umbralización adaptativa. La selección del umbral es el factor más crítico que determina la calidad de la binarización, y este artículo explica los métodos de determinación en detalle.

Método de umbral fijo - Configuración manual y análisis de histograma

La umbralización fija es la técnica de binarización más simple, aplicando un único umbral especificado por el usuario a toda la imagen. Es efectiva cuando las condiciones de iluminación son estables y el contraste entre primer plano y fondo es claro.

Determinación manual del umbral: Observa el histograma y establece el umbral en el valle entre dos picos (bimodalidad) correspondientes al primer plano y fondo. Por ejemplo, en una imagen de documento con texto negro sobre papel blanco, la región alrededor de 128 entre el fondo (200-255) y el texto (0-80) es un umbral apropiado.

Implementación en OpenCV:

ret, binary = cv2.threshold(gray, 128, 255, cv2.THRESH_BINARY)

Variaciones del tipo de umbral:

  • THRESH_BINARY: Por encima del umbral se vuelve blanco, por debajo negro
  • THRESH_BINARY_INV: Por encima del umbral se vuelve negro, por debajo blanco (invertido)
  • THRESH_TRUNC: Por encima del umbral se trunca al valor del umbral, por debajo sin cambios
  • THRESH_TOZERO: Por debajo del umbral se establece en 0, por encima sin cambios
  • THRESH_TOZERO_INV: Por encima del umbral se establece en 0, por debajo sin cambios

Limitaciones de los umbrales fijos: Cuando la iluminación no es uniforme (sombras, iluminación gradiente, viñeteo), un único umbral no puede separar correctamente el primer plano del fondo. Lo que funciona para una parte de la imagen falla en otras regiones donde el primer plano desaparece o el fondo permanece como ruido. La umbralización adaptativa resuelve este problema.

Mejoras con preprocesamiento: Aplicar desenfoque gaussiano (σ=1-3) para eliminación de ruido y ecualización de histograma para mejora de contraste antes de la umbralización fija facilita la selección del umbral y estabiliza los resultados.

Método de Otsu - El estándar para determinación automática del umbral

El método de Otsu (1979) determina automáticamente el umbral óptimo basándose en las propiedades estadísticas del histograma. Selecciona el umbral que maximiza la varianza entre clases, maximizando la separabilidad del primer plano y fondo. Es el método de determinación automática de umbral más ampliamente utilizado en procesamiento de imágenes.

Principio del algoritmo: Al dividir la imagen en 2 clases en el umbral t (C0: valor de píxel ≤ t, C1: valor de píxel > t), encuentra t que maximiza la varianza entre clases σ²_B(t) = ω0(t) × ω1(t) × (μ0(t) - μ1(t))². Aquí ω0, ω1 son las proporciones de conteo de píxeles para cada clase, y μ0, μ1 son las intensidades medias para cada clase.

Eficiencia computacional: Calcula la varianza entre clases para los 256 umbrales posibles y selecciona el que produce el valor máximo. Usando sumas acumulativas del histograma, la computación es O(L) (L: número de niveles=256), independiente del tamaño de la imagen.

Implementación en OpenCV:

ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

El valor de retorno ret contiene el umbral determinado automáticamente.

Prerrequisitos y limitaciones del método de Otsu:

  • Óptimo cuando el histograma exhibe bimodalidad (dos picos claros)
  • La precisión se degrada cuando la proporción de área primer plano-fondo es extremadamente sesgada (más allá de 1:9)
  • No puede producir umbrales significativos para histogramas unimodales
  • No puede manejar iluminación no uniforme (limitación inherente de los umbrales globales)

Otsu multinivel: Existe el Otsu multinivel para clasificación en 3 o más niveles. Aunque no está implementado directamente en cv2.threshold() de OpenCV 4.x, está disponible a través de threshold_multiotsu() de scikit-image.

Umbralización adaptativa - Manejo de iluminación no uniforme

La umbralización adaptativa calcula umbrales locales para cada píxel de la imagen. Logra una binarización de alta calidad imposible con umbrales globales para imágenes capturadas bajo iluminación no uniforme (sombras, focos, variaciones de luz natural).

Principio básico: El umbral T(x, y) para cada píxel (x, y) se calcula a partir de estadísticas de una región local (tamaño de bloque B×B) centrada en ese píxel. Al seguir las variaciones locales de brillo, no se ve afectado por la no uniformidad de la iluminación.

Basado en media:

T(x,y) = mean(región local) - C

El umbral es la intensidad media de la región local menos la constante C. C típicamente varía de 5-15; valores mayores expanden el rango de clasificación del primer plano.

Basado en gaussiana:

T(x,y) = gaussian_weighted_mean(región local) - C

Usa media ponderada gaussiana dando mayor peso a píxeles más cercanos al centro. Más preciso cerca de los bordes que el basado en media, y es el estándar para binarización de imágenes de documentos.

Implementación en OpenCV:

binary = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, blockSize=11, C=2)

Directrices de ajuste de parámetros:

  • Tamaño de bloque: Debe ser impar. La guía es 2-3x la altura del carácter. Demasiado pequeño se vuelve sensible al ruido; demasiado grande debilita la corrección de iluminación.
  • Constante C: Valores positivos engrosan el primer plano, negativos lo adelgazan. 2-10 es típico para documentos.

Método de Sauvola: Un método adaptativo mejorado que también considera la desviación estándar local. T(x,y) = μ × (1 + k × (σ/R - 1)). Mejora el rendimiento en regiones de bajo contraste, destacando en el procesamiento de documentos envejecidos o degradados.

Diseño práctico de umbrales - Imágenes de documentos e inspección industrial

La binarización práctica implica diseñar todo el pipeline incluyendo preprocesamiento y postprocesamiento, no solo la aplicación del umbral. Se presentan enfoques prácticos para dominios de aplicación representativos.

Pipeline de binarización de imágenes de documentos:

  • Entrada: Imagen escaneada o capturada con cámara
  • Preprocesamiento 1: Corrección de inclinación (transformada de Hough o perfil de proyección)
  • Preprocesamiento 2: Desenfoque gaussiano (σ=1.0) para eliminación de ruido de escaneo
  • Binarización: Umbralización adaptativa (Gaussiana, blockSize=2x altura del carácter, C=5)
  • Postprocesamiento: Apertura morfológica (3x3) para eliminación de ruido aislado

Este procedimiento mejora la precisión de reconocimiento de Tesseract OCR en un 15-25% comparado con la entrada sin procesar.

Binarización en inspección industrial: Para detección de defectos en obleas de semiconductores y PCB donde la iluminación es controlable, los umbrales fijos son efectivos. Sin embargo, para manejar la variación entre lotes, usar el método de Otsu para ajuste automático del umbral con rango de tolerancia (±10) para detección de anomalías proporciona un diseño robusto.

Binarización de imágenes en color: Para binarización directa de imágenes RGB, convertir al espacio de color HSV y extraer rangos de tono específicos es efectivo. Para detección de objetos rojos, genera máscaras para H: 0-10 o 170-180, S: 100-255, V: 50-255. Implementa con cv2.inRange(hsv, lower, upper).

Diseño de umbral dinámico: Para imágenes de series temporales (video, captura continua) donde la iluminación varía entre fotogramas, aplica el método de Otsu por fotograma o usa la media móvil de umbrales de los N fotogramas anteriores para suprimir variaciones repentinas. Alertar cuando la variación del umbral excede ±20 como anomalía de iluminación también es un diseño efectivo.

Métodos avanzados de umbralización y enfoques de aprendizaje profundo

Se introducen métodos avanzados más allá de la binarización convencional basada en umbrales y enfoques recientes de aprendizaje profundo. La binarización de alta precisión previamente imposible con métodos convencionales ahora es alcanzable para fondos complejos e imágenes degradadas.

Método de Niblack: T(x,y) = μ + k × σ (k=-0.2 es estándar). Usa media local y desviación estándar para establecer umbrales adaptativos al contraste. Tiene el inconveniente de ruido excesivo en regiones de fondo, mejorado por el método de Sauvola.

Método de Wolf: Una mejora sobre Sauvola que considera la intensidad mínima global. Mejora el rendimiento en regiones extremadamente oscuras o de bajo contraste, altamente valorado para la digitalización de documentos históricos.

Método de Bradley: Una binarización adaptativa rápida usando imágenes integrales para calcular medias locales en O(1). Calcula en tiempo constante independientemente del tamaño del bloque, adecuado para aplicaciones de procesamiento en tiempo real.

Binarización con aprendizaje profundo: La investigación que aplica modelos de segmentación semántica como U-Net y DeepLabV3 a la binarización de documentos está avanzando. En DIBCO (Document Image Binarization Competition), los métodos de aprendizaje profundo superan significativamente a los métodos convencionales con F-measure superior al 95%.

  • Ventajas: Robusto contra fondos complejos, marcas de agua, sangrado y manchas
  • Desventajas: Requiere datos de entrenamiento, alto costo de inferencia (GPU recomendada)
  • Ejemplos prácticos: App de escaneo de documentos de Google, Adobe Scan

Enfoque híbrido: En la práctica, combinar aprendizaje profundo con métodos convencionales es efectivo. Un proceso de dos etapas que realiza segmentación gruesa con aprendizaje profundo seguida de refinamiento preciso de fronteras con umbralización adaptativa logra tanto precisión como velocidad. El tiempo de procesamiento es aproximadamente 50ms por página con GPU.

Artículos relacionados

Fundamentos de operaciones morfológicas - Dilatación, erosión, apertura y cierre explicados

Explicación sistemática de las operaciones morfológicas como herramientas fundamentales de procesamiento de imagen. Cubre los principios de dilatación, erosión, apertura y cierre, diseño de elementos estructurantes y aplicaciones prácticas.

Fundamentos de segmentación de imágenes - Principios de división de regiones y aplicaciones

Introducción sistemática a la segmentación de imágenes, desde métodos clásicos de umbralización hasta técnicas de aprendizaje profundo (U-Net, DeepLab, SAM), incluyendo métricas de evaluación e implementación en navegador.

Técnicas de dithering - Tipos y aplicaciones para representar gradientes con colores limitados

Comparación de difusión de error, dithering Bayer y técnicas de ruido azul. Cubre principios, características y aplicaciones desde estética retro hasta impresión.

Tecnología de huellas digitales de imágenes - Detección de imágenes similares con pHash y dHash

Explicación sistemática de la tecnología de hash perceptual para detectar imágenes similares. Cubre los principios de aHash, dHash y pHash, la puntuación por distancia de Hamming y la arquitectura de sistemas reales.

Procesamiento de imágenes en la inspección industrial - De la inspección visual a la medición dimensional

Explicación sistemática de la aplicación del procesamiento de imágenes en la inspección industrial. Cubre detección de defectos, medición dimensional, inspección de superficies y métodos de aprendizaje profundo.

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

Explicación sistemática de la técnica de ecualización de histograma. Cubre la ecualización global, el método adaptativo CLAHE, el procesamiento de imágenes en color y escenarios de aplicación práctica.

Términos relacionados