Cómo preprocesar imágenes para OCR
Un proceso de 6 pasos para un mejor reconocimiento OCR
La diferencia entre una salida OCR que puede usar y una que debe volver a escribir a menudo no tiene nada que ver con el motor en sí. Depende de lo que le ocurra a la imagen antes de que el motor OCR la vea. Una foto tomada con el teléfono de una factura, un contrato enviado por fax a 150 DPI, un recibo arrugado: estas son las entradas del mundo real que el preprocesamiento existe para corregir. Un proceso bien diseñado de seis pasos puede tomar una imagen ruidosa, inclinada y de bajo contraste y hacerla tan legible para el motor como una página impresa limpia.

Por qué el preprocesamiento importa más que el motor de OCR

Los motores de OCR tradicionales — Tesseract, ABBYY FineReader, Google Cloud Vision — fueron diseñados para escaneos limpios y de alto contraste provenientes de escáneres de documentos planos a 300 DPI. Las imágenes del mundo real no se parecen en nada a eso. Una foto tomada con el teléfono de una factura tiene sombras de la mano del fotógrafo, perspectiva sesgada y distorsión de lente. Una orden de compra enviada por fax llega a 200 DPI con patrones de muaré. Un recibo arrugado tiene líneas de pliegue que crean bordes artificiales, y partes del texto están en sombra mientras otras están sobreexpuestas.
El preprocesamiento cierra esta brecha. Los puntos de referencia del Document Image Binarization Contest (DIBCO) muestran de manera consistente que la elección de la técnica de preprocesamiento puede desplazar la precisión a nivel de carácter en 15–40 puntos porcentuales con el mismo motor de OCR y el mismo documento. En documentos degradados — papel amarillento, copias carbón desvaídas, recibos térmicos — la brecha se amplía aún más.
Los seis pasos siguientes forman un flujo de preprocesamiento completo. Están ordenados por dependencia: cada paso asume que el anterior se ha aplicado. Puede omitir pasos cuando sus imágenes de origen ya estén limpias, pero el orden no debe reorganizarse.
Paso 1: Conversión a escala de grises — elimine el color sin perder señal
Una imagen en color almacena tres canales — rojo, verde y azul — cada uno con sus propias características de iluminación. Bajo iluminación mixta, un canal puede estar sobreexpuesto mientras otro conserva el detalle. Procesar los tres de forma independiente multiplica la carga computacional e introduce ruido específico de cada canal que el OCR no necesita. La conversión a escala de grises los reduce a un único canal de luminancia mediante ponderación de luminosidad (Y = 0.299R + 0.587G + 0.114B), preservando la información de contraste de la que depende el OCR y eliminando el ruido basado en el color. El resultado es una imagen de un solo canal donde solo importa el brillo, lista para la eliminación de ruido.
Paso 2: Eliminación de ruido — cómo elegir entre Gaussiano y Mediana
El ruido proviene de múltiples fuentes: ruido del sensor en cámaras de teléfonos, artefactos de compresión JPEG, tramado de medios tonos en materiales impresos y polvo en el cristal del escáner. Dos enfoques de filtrado dominan, cada uno adecuado para distintos tipos de ruido.
El desenfoque gaussiano promedia cada píxel con sus vecinos y es eficaz contra las variaciones de brillo de distribución normal típicas de los sensores de cámara. La contrapartida es el suavizado de bordes: los trazos finos en una fuente de 9 pt se vuelven más difíciles de separar para el OCR. Un núcleo de 3×3 o 5×5 suele ser suficiente.
El filtro de mediana reemplaza cada píxel con la mediana de su vecindario, lo que lo hace drásticamente más eficaz contra el ruido sal y pimienta — los píxeles blancos y negros dispersos comunes en documentos escaneados o por fax. Elimina píxeles ruidosos aislados mientras preserva los bordes casi intactos. El tamaño de ventana estándar es 3×3; 5×5 para escaneos muy dañados.
La regla práctica: las motas dispersas requieren filtro de mediana. La granulosidad general requiere desenfoque gaussiano. Ambos deben aplicarse con moderación — cada filtro elimina contenido real junto con el ruido.
Paso 3: Binarización: el paso de mayor impacto

La binarización convierte una imagen en escala de grises en una imagen puramente en blanco y negro: cada píxel es tinta (negro) o papel (blanco). Este es el paso donde se producen las mayores ganancias de precisión — y las mayores pérdidas de precisión. Los resultados de la competencia Document Image Binarization Contest (DIBCO) durante la última década muestran que la brecha entre el mejor método de binarización y un umbral global simple promedia 30–40 puntos porcentuales en documentos degradados. Elegir el método de binarización incorrecto es el error de preprocesamiento más común.
El método de Otsu es la binarización predeterminada en la mayoría de las bibliotecas de OCR. Calcula un único umbral global maximizando la varianza entre las clases de píxeles blancos y negros. En un escaneo limpio y uniformemente iluminado — una página blanca con texto negro bajo iluminación uniforme — Otsu produce una binarización casi perfecta en una sola pasada. El problema es que la mayoría de los documentos del mundo real no están iluminados de manera uniforme. Una página fotografiada en un escritorio tiene un degradado desde el lado brillante de la ventana hasta el lado sombreado. Otsu elige un umbral para toda la imagen, lo que significa que el texto sombreado desaparece en el fondo mientras que el texto del lado brillante queda sobreexpuesto.
El umbral adaptativo resuelve esto calculando un umbral local para cada píxel basado en su vecindario circundante — típicamente ventanas de 15×15 a 51×51 píxeles. Cada región obtiene su propio umbral, por lo que un documento mitad en sombra y mitad bajo luz solar sale con texto legible en toda la página. El método de Sauvola, un refinamiento del umbral adaptativo, añade un término de sesgo que mejora el rendimiento en grosores de trazo variables — común en copias carbón y documentos históricos.
La compensación es la velocidad y la sensibilidad a los parámetros. El umbral adaptativo es de 5 a 10 veces más lento que Otsu, y el tamaño de la ventana afecta drásticamente la salida: demasiado pequeño (por debajo de 11×11), y los caracteres grandes se tratan como fondo; demasiado grande (por encima de 75×75), y se acerca al comportamiento de Otsu. Un buen punto de partida es un tamaño de ventana de aproximadamente 1/20 del ancho de la imagen.
Paso 4: Enderezar — Corregir la rotación antes de que las líneas de texto se lean mal
La inclinación — la rotación de la imagen de un documento respecto a la horizontal — es casi universal en documentos capturados con cámara y común en los escaneados. Incluso una pequeña inclinación degrada la precisión del OCR de forma desproporcionada porque los algoritmos de segmentación del motor asumen líneas de base horizontales. Investigaciones publicadas en la revista Pattern Recognition midieron el efecto con precisión: a 5°, la precisión a nivel de carácter cae un 15–20%. A 10°, la tasa de error supera el 40% ya que las líneas se desalinean con sus límites de fila. A 15° — fácilmente producido al fotografiar un documento en ángulo — la mayoría de los motores de OCR generan texto como un flujo único de caracteres fusionados sin límites de salto de línea.
El método estándar para enderezar usa la transformada de Hough, que detecta líneas rectas (líneas de base del texto) y calcula su ángulo dominante, luego rota la imagen con el negativo de ese ángulo. Una alternativa más simple calcula el perfil de proyección — la suma de píxeles negros por fila, que alcanza su punto máximo cuando el texto está horizontal. Ambos métodos convergen dentro de 0.1° en documentos limpios. En imágenes ruidosas, la transformada de Hough es más robusta porque puede descartar líneas atípicas y centrarse en la dirección dominante del texto.
Paso 5: Eliminación de bordes — Evitar que los artefactos de borde confundan el análisis de diseño
Los documentos escaneados y las imágenes capturadas con teléfono casi siempre incluyen contenido visual fuera del documento mismo — bordes oscuros de la tapa del escáner, una página fotografiada sobre un escritorio, marcas de tiempo de encabezados de fax. Estos elementos corrompen el paso de análisis de diseño porque los algoritmos de OCR detectan regiones de página identificando componentes conectados. Un borde negro grueso crea un componente conectado que abarca todo el ancho de la imagen, lo que el algoritmo interpreta como un límite de página — provocando que recorte el contenido real del documento o asigne texto de encabezado cercano al orden de lectura incorrecto. Las fechas del documento, números de página y nombres de proveedores en los bordes suelen ser los primeros en desaparecer.
La eliminación automatizada de bordes usa detección de contornos para encontrar el límite rectangular más externo del contenido del documento y recorta hasta él. El algoritmo escanea hacia adentro desde cada borde buscando la transición de borde oscuro a página clara. El recorte debe ser conservador: recortar demasiado agresivamente elimina texto marginal, mientras que dejar un margen fino (2–5 píxeles) no afecta el procesamiento posterior.
Paso 6: Mejora de resolución: cuándo más píxeles realmente ayudan
La precisión del OCR tiene una relación bien documentada con la resolución de la imagen. Por debajo de 200 DPI, los bordes de los caracteres se pixelan hasta el punto en que glifos similares se vuelven indistinguibles: "O" frente a cero, "l" minúscula frente a "I" mayúscula. El punto óptimo estándar de 300 DPI proporciona suficiente detalle para fuentes de 8 a 12 puntos, manteniendo los tamaños de archivo manejables. A 600 DPI, la precisión mejora solo entre un 2 y un 5 %, mientras que los tamaños de archivo se cuadruplican.
El desafío es que las imágenes de entrada no siempre están bajo su control. Una foto móvil de un recibo puede tener una resolución efectiva de 150 DPI; un fax está fijado en 200 DPI. Para estos casos, las técnicas de superresolución — que utilizan redes neuronales para inferir detalles de alta resolución — pueden recuperar parte de la información perdida, logrando una mejora modesta pero medible de 5 a 8 puntos porcentuales por debajo de 200 DPI. El remuestreo bicúbico tradicional no produce el mismo beneficio; crea bordes suaves pero no añade detalle real. Solo la superresolución — entrenada con millones de imágenes de documentos — puede reconstruir bordes nítidos de caracteres a partir de parches borrosos.
Cuándo puede omitir el preprocesamiento

El flujo de preprocesamiento anterior fue desarrollado para motores OCR tradicionales — Tesseract, ABBYY, Google Cloud Vision — que operan carácter por carácter. Estos motores necesitan una entrada limpia y de alto contraste porque su arquitectura carece de conciencia contextual. Un segmento de carácter faltante debido al ruido simplemente se pierde.
El OCR moderno basado en modelos de lenguaje grandes visuales (VLM) — la arquitectura utilizada por ImageToTable.ai — funciona de manera diferente. En lugar de reconocer caracteres uno por uno, un VLM lee la imagen completa del documento como una escena visual y extrae datos comprendiendo qué significa cada región. Entrenado con millones de imágenes de documentos del mundo real — fotos de teléfono, recibos arrugados, escaneos sesgados — los tipos de degradación que el preprocesamiento corrige ya están representados en sus datos de entrenamiento. Un documento fotografiado con una inclinación de 15° bajo iluminación mixta no es un caso límite para el modelo; es estadísticamente indistinguible de miles de ejemplos de entrenamiento.
Esto no significa que el preprocesamiento sea obsoleto. En imágenes extremadamente degradadas — un recibo térmico que se ha vuelto completamente marrón, una fotocopia de quinta generación — incluso un VLM se beneficia de la umbralización adaptativa o la mejora de contraste. Pero para la gama media de calidad de documentos del mundo real que representa el 90 % del uso cotidiano, una herramienta moderna basada en VLM puede omitir todo el flujo de preprocesamiento y producir una extracción precisa directamente.
Para una comparación más profunda de los dos enfoques, consulte OCR vs. extracción con IA: cuándo es necesario el preprocesamiento y nuestra guía sobre cómo mejorar la precisión del OCR con herramientas modernas de extracción.
Solución de problemas comunes de preprocesamiento
Su umbral es demasiado agresivo. Cambie de Otsu a un umbral adaptativo con un tamaño de ventana de 1/20 del ancho de la imagen. Si persisten las sombras profundas, aplique primero una ecualización de histograma adaptativa de contraste limitado (CLAHE).
El tamaño de su kernel es demasiado grande. Redúzcalo a un kernel de 3×3, o cambie de filtro gaussiano a filtro de mediana, que conserva mejor los bordes finos. Para documentos con letra pequeña, omita la eliminación de ruido por completo si la imagen ya está limpia.
La transformada de Hough probablemente detectó una línea dominante falsa: un borde del marco o una regla de tabla. Aplique la eliminación de bordes antes de la corrección de inclinación, o enmascare el 5% superior e inferior de la imagen. Aumente el umbral de Hough para que solo las líneas de ancho casi completo se registren como líneas base.
El umbral adaptativo y la superresolución son computacionalmente costosos. Para lotes grandes, considere usar una herramienta de extracción basada en VLM que maneje estas transformaciones internamente en una sola pasada de inferencia por página.
Preguntas frecuentes
¿Es necesario el preprocesamiento para todos los documentos?
No. Un escaneo limpio a 300 DPI de texto negro sobre papel blanco no necesita preprocesamiento. El pipeline aporta valor en proporción a cuánto se desvía la entrada de ese ideal: las fotos de teléfono, los faxes, los recibos térmicos y los originales desvaídos son los que más se benefician. Si usted utiliza una herramienta basada en VLM, el umbral es mucho más bajo: el modelo maneja internamente la inclinación moderada, la iluminación desigual y el ruido.
¿El preprocesamiento afecta al reconocimiento de escritura a mano de forma diferente que al texto impreso?
Sí. El texto impreso tiene un grosor y un espaciado de trazos regulares, por lo que el pipeline estándar funciona bien. La escritura a mano tiene trazos variables, caracteres superpuestos y un espaciado no uniforme. La binarización agresiva (especialmente el método de Otsu) fusiona los trazos cursivos en manchas. Para documentos manuscritos, utilice una ventana de umbral adaptativo más grande (51×51 o superior) y una eliminación de ruido más suave. Algunas herramientas basadas en VLM omiten la binarización por completo para la escritura a mano y procesan directamente la imagen en escala de grises. Consulte nuestra guía sobre por qué el OCR tiene dificultades con la escritura a mano para obtener un análisis más detallado.
¿Qué DPI debo utilizar para escanear documentos?
300 DPI es el estándar para la mayoría de los documentos comerciales: suficiente detalle para fuentes de 8 a 12 puntos, con aproximadamente 25 MB por página en color. 200 DPI funciona para documentos con letra grande (14 puntos o más). 600 DPI rara vez es necesario para OCR; la mejora de precisión sobre 300 DPI promedia solo un 2–5 % mientras que cuadruplica el tamaño de los archivos. La excepción son los documentos con fuentes extremadamente pequeñas (notas al pie de 6 a 8 puntos, letra pequeña).
¿Puede el preprocesamiento corregir una foto borrosa de un documento tomada con el teléfono?
Parcialmente. El desenfoque de movimiento leve (menos de 3 píxeles) se puede corregir con un filtro de deconvolución de Wiener o Richardson-Lucy (disponibles en OpenCV y scikit-image). El desenfoque moderado (3 a 10 píxeles) requiere un modelo neuronal de eliminación de desenfoque. El desenfoque intenso por falta de enfoque generalmente es irrecuperable: la información de alta frecuencia (los bordes de los trazos de los caracteres) nunca fue capturada por el sensor. Volver a tomar la foto con la cámara firme y el documento plano es la única solución fiable.
¿Debo convertir las páginas PDF a imágenes antes del preprocesamiento?
Depende del tipo de PDF. Los PDF nacidos digitales contienen texto seleccionable y no necesitan OCR. Los PDF escaneados son colecciones de imágenes en un contenedor PDF: renderice cada página a PNG a 300 DPI utilizando pdftoppm de Poppler o pdf2image de Python, y luego aplique el pipeline. Consulte nuestra guía para extraer datos de PDF escaneados para obtener un flujo de trabajo completo.
¿Cómo sé qué paso del preprocesamiento está causando problemas?
Guarde la salida de cada paso como un archivo de imagen independiente. Si la salida del OCR es basura, comience con la imagen binarizada: ese paso tiene la mayor varianza de precisión. Si la binarización se ve limpia pero la salida sigue siendo incorrecta, compare la imagen enderezada con la entrada sin procesar: una inclinación residual de 3° invisible al ojo puede reducir la precisión en un 10 %. Cada intermedio guardado le indica exactamente dónde se introdujo el error.
Cuando el pipeline no es la respuesta
El pipeline de seis pasos es el enfoque correcto cuando usted controla la entrada: usted elige el escáner y los DPI. Pero en muchos escenarios del mundo real, no es así. Las facturas llegan de cientos de proveedores en formatos que van desde PDFs nacidos digitales hasta fotos tomadas con el teléfono. La carga del preprocesamiento recae en la herramienta.
Una herramienta de extracción basada en VLM como ImageToTable.ai — que utiliza la Extracción de Columnas Personalizadas para localizar campos de datos por significado semántico en lugar de coordenadas de píxeles — tiene el pipeline de preprocesamiento integrado en su proceso de inferencia. Usted sube el documento tal cual: inclinado, con sombras, de baja resolución. El modelo lee el documento como un todo y extrae datos estructurados en las columnas que usted definió.
Esto no hace que el conocimiento del preprocesamiento sea obsoleto. Comprender cada paso le ayuda a diagnosticar por qué cualquier herramienta de extracción podría fallar en una imagen en particular — y le indica exactamente qué corregir. Para un recorrido sobre el diagnóstico de fallos de extracción según el tipo de documento, consulte por qué la precisión del OCR varía según el tipo de documento.
Pruebe su herramienta de extracción en el mismo documento antes y después de aplicar el pipeline de seis pasos. La diferencia le dirá exactamente cuánto preprocesamiento necesita su flujo de trabajo.