El Reconocimiento Óptico de Caracteres (OCR) convierte imágenes de texto—escaneos, fotos de smartphone, PDFs—en cadenas legibles por máquina y, cada vez más, en datos estructurados. El OCR moderno es una tubería que limpia una imagen, encuentra texto, lo lee y exporta metadatos ricos para que los sistemas posteriores puedan buscar, indexar o extraer campos. Dos estándares de salida ampliamente utilizados son hOCR, un microformato HTML para texto y diseño, y ALTO XML, un esquema orientado a bibliotecas/archivos; ambos preservan posiciones, orden de lectura y otras pistas de diseño y son compatibles con motores populares como Tesseract.
Preprocesamiento. La calidad del OCR comienza con la limpieza de la imagen: conversión a escala de grises, eliminación de ruido, umbralización (binarización) y corrección de inclinación. Los tutoriales canónicos de OpenCV cubren umbralización global, adaptativa y Otsu —elementos básicos para documentos con iluminación no uniforme o histogramas bimodales. Cuando la iluminación varía dentro de una página (piense en las instantáneas del teléfono), los métodos adaptativos a menudo superan a un único umbral global; Otsu elige automáticamente un umbral analizando el histograma. La corrección de la inclinación es igualmente importante: la corrección de inclinación basada en Hough (Transformada de Hough Line) junto con la binarización de Otsu es una receta común y efectiva en las tuberías de preprocesamiento de producción.
Detección vs. reconocimiento. El OCR se divide típicamente en detección de texto (¿dónde está el texto?) y reconocimiento de texto (¿qué dice?). En escenas naturales y muchos escaneos, los detectores totalmente convolucionales como EAST predicen eficientemente cuadriláteros a nivel de palabra o línea sin pesadas etapas de propuesta y se implementan en kits de herramientas comunes (por ejemplo, tutorial de detección de texto de OpenCV). En páginas complejas (periódicos, formularios, libros), la segmentación de líneas/regiones y la inferencia del orden de lectura son importantes:Kraken implementa la segmentación tradicional de zonas/líneas y la segmentación neuronal de línea de base, con soporte explícito para diferentes escrituras y direcciones (LTR/RTL/vertical).
Modelos de reconocimiento. El clásico caballo de batalla de código abierto Tesseract (de código abierto por Google, con raíces en HP) evolucionó de un clasificador de caracteres a un reconocedor de secuencias basado en LSTM y puede emitir archivos PDF con capacidad de búsqueda, salidas compatibles con hOCR/ALTO, y más desde la CLI. Los reconocedores modernos se basan en el modelado de secuencias sin caracteres presegmentados. Clasificación Temporal Conexionista (CTC) sigue siendo fundamental, aprendiendo alineaciones entre secuencias de características de entrada y cadenas de etiquetas de salida; se utiliza ampliamente en tuberías de escritura a mano y texto de escena.
En los últimos años, los Transformers han remodelado el OCR. TrOCR utiliza un codificador Vision Transformer más un decodificador Text Transformer, entrenado en grandes corpus sintéticos y luego ajustado en datos reales, con un sólido rendimiento en benchmarks de texto impreso, manuscrito y de escena (véase también documentación de Hugging Face). En paralelo, algunos sistemas eluden el OCR para la comprensión posterior: Donut (Document Understanding Transformer) es un codificador-decodificador sin OCR que genera directamente respuestas estructuradas (como JSON de clave-valor) a partir de imágenes de documentos (repositorio, tarjeta de modelo), evitando la acumulación de errores cuando un paso de OCR separado alimenta un sistema de IE.
Si desea una lectura de texto con todo incluido en muchas escrituras, EasyOCR ofrece una API simple con más de 80 modelos de lenguaje, que devuelve cuadros, texto y confidencias, útil para prototipos y escrituras no latinas. Para documentos históricos, Kraken brilla con la segmentación de línea de base y el orden de lectura consciente de la escritura; para un entrenamiento flexible a nivel de línea, Calamari se basa en el linaje de Ocropy (Ocropy) con reconocedores (multi-)LSTM+CTC y una CLI para ajustar modelos personalizados.
La generalización depende de los datos. Para la escritura a mano, la Base de datos de escritura a mano IAM proporciona oraciones en inglés de diversos escritores para entrenamiento y evaluación; es un conjunto de referencia de larga data para el reconocimiento de líneas y palabras. Para el texto de escena, COCO-Text superpuso anotaciones extensas sobre MS-COCO, con etiquetas para texto impreso/manuscrito, legible/ilegible, escritura y transcripciones completas (véase también la página original del proyecto). El campo también depende en gran medida del preentrenamiento sintético: SynthText in the Wild representa texto en fotografías con geometría e iluminación realistas, proporcionando enormes volúmenes de datos para preentrenar detectores y reconocedores (referencia código y datos).
Las competiciones bajo el paraguas de Lectura Robusta de ICDAR mantienen la evaluación fundamentada. Las tareas recientes enfatizan la detección/lectura de extremo a extremo e incluyen la vinculación de palabras en frases, con el código oficial informando precisión/recuperación/puntuación F, intersección sobre unión (IoU) y métricas de distancia de edición a nivel de carácter, lo que refleja lo que los profesionales deben rastrear.
El OCR rara vez termina en texto plano. Los archivos y las bibliotecas digitales prefieren ALTO XML porque codifica el diseño físico (bloques/líneas/palabras con coordenadas) junto con el contenido, y se combina bien con el empaquetado METS. El microformato hOCR , por el contrario, incorpora la misma idea en HTML/CSS utilizando clases como ocr_line y ocrx_word, lo que facilita su visualización, edición y transformación con herramientas web. Tesseract expone ambos, por ejemplo, generando hOCR o PDF con capacidad de búsqueda directamente desde la CLI (guía de salida de PDF); los envoltorios de Python como pytesseract añaden comodidad. Existen convertidores para traducir entre hOCR y ALTO cuando los repositorios tienen estándares de ingesta fijos —véase esta lista curada de herramientas de formato de archivo OCR.
La tendencia más fuerte es la convergencia: la detección, el reconocimiento, el modelado del lenguaje e incluso la decodificación específica de la tarea se están fusionando en pilas de Transformer unificadas. El preentrenamiento en grandes corpus sintéticos sigue siendo un multiplicador de fuerza. Los modelos sin OCR competirán agresivamente dondequiera que el objetivo sean salidas estructuradas en lugar de transcripciones literales. Espere también implementaciones híbridas: un detector ligero más un reconocedor de estilo TrOCR para texto de formato largo, y un modelo de estilo Donut para formularios y recibos.
Tesseract (GitHub) · Documentación de Tesseract · Especificación de hOCR · Fondo de ALTO · Detector EAST · Detección de texto de OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Escritura a mano de IAM · Herramientas de formato de archivo OCR · EasyOCR
El Reconocimiento Óptico de Caracteres (OCR) es una tecnología utilizada para convertir diferentes tipos de documentos, como documentos en papel escaneados, archivos PDF o imágenes capturadas por una cámara digital, en datos editables y buscables.
OCR funciona escaneando una imagen o documento de entrada, segmentando la imagen en caracteres individuales y comparando cada carácter con una base de datos de formas de caracteres utilizando reconocimiento de patrones o reconocimiento de características.
OCR se utiliza en una variedad de sectores y aplicaciones, incluyendo la digitalización de documentos impresos, la habilitación de servicios de texto a voz, la automatización de procesos de entrada de datos, y ayudar a los usuarios con discapacidad visual a interactuar mejor con el texto.
Aunque se han hecho grandes avances en la tecnología OCR, no es infalible. La precisión puede variar dependiendo de la calidad del documento original y las especificidades del software OCR que se esté utilizando.
Aunque OCR está diseñado principalmente para texto impreso, algunos sistemas avanzados de OCR también pueden reconocer escritura a mano clara y consistente. Sin embargo, en general, el reconocimiento de la escritura a mano es menos preciso debido a la amplia variación en los estilos de escritura individuales.
Sí, muchos sistemas de software OCR pueden reconocer múltiples idiomas. Sin embargo, es importante asegurar que el idioma específico sea soportado por el software que estás utilizando.
OCR significa Reconocimiento Óptico de Caracteres y se utiliza para reconocer texto impreso, mientras que ICR, o Reconocimiento Inteligente de Caracteres, es más avanzado y se utiliza para reconocer texto escrito a mano.
OCR funciona mejor con fuentes claras y fáciles de leer y tamaños de texto estándar. Si bien puede funcionar con varias fuentes y tamaños, la precisión tiende a disminuir cuando se trata de fuentes inusuales o tamaños de texto muy pequeños.
OCR puede tener dificultades con documentos de baja resolución, fuentes complejas, textos mal impresos, escritura a mano y documentos con fondos que interfieren con el texto. Además, aunque puede trabajar con muchos idiomas, puede que no cubra cada idioma a la perfección.
Sí, OCR puede escanear texto en color y fondos en color, aunque generalmente es más efectivo con combinaciones de colores de alto contraste, como texto negro sobre un fondo blanco. La precisión puede disminuir cuando los colores del texto y del fondo carecen de suficiente contraste.
El formato PBM (Portable Bitmap) es uno de los formatos de archivo gráfico más sencillos y antiguos utilizados para almacenar imágenes monocromáticas. Forma parte del conjunto Netpbm, que también incluye PGM (Portable GrayMap) para imágenes en escala de grises y PPM (Portable PixMap) para imágenes a color. El formato PBM está diseñado para ser extremadamente fácil de leer y escribir en un programa, y para ser claro e inequívoco. No está diseñado para ser un formato independiente, sino más bien un denominador común mínimo para la conversión entre diferentes formatos de imagen.
El formato PBM admite solo imágenes en blanco y negro (1 bit). Cada píxel de la imagen se representa mediante un solo bit: 0 para blanco y 1 para negro. La sencillez del formato lo hace sencillo de manipular con herramientas básicas de edición de texto o lenguajes de programación sin la necesidad de bibliotecas especializadas de procesamiento de imágenes. Sin embargo, esta sencillez también significa que los archivos PBM pueden ser más grandes que formatos más sofisticados como JPEG o PNG, que utilizan algoritmos de compresión para reducir el tamaño del archivo.
Existen dos variaciones del formato PBM: el formato ASCII (plano), conocido como P1, y el formato binario (raw), conocido como P4. El formato ASCII es legible por humanos y se puede crear o editar con un simple editor de texto. El formato binario no es legible por humanos, pero es más eficiente en cuanto a espacio y más rápido de leer y escribir para los programas. A pesar de las diferencias en el almacenamiento, ambos formatos representan el mismo tipo de datos de imagen y se pueden convertir entre sí sin pérdida de información.
La estructura de un archivo PBM en formato ASCII comienza con un número mágico de dos bytes que identifica el tipo de archivo. Para el formato PBM ASCII, este es 'P1'. Después del número mágico, hay espacio en blanco (espacios, tabuladores, retornos de carro, saltos de línea), y luego una especificación de ancho, que es el número de columnas de la imagen, seguida de más espacio en blanco, y luego una especificación de altura, que es el número de filas de la imagen. Después de la especificación de altura, hay más espacio en blanco, y luego comienzan los datos de los píxeles.
Los datos de los píxeles en un archivo PBM ASCII consisten en una serie de '0' y '1', donde cada '0' representa un píxel blanco y cada '1' representa un píxel negro. Los píxeles se organizan en filas, con cada fila de píxeles en una nueva línea. Se permite espacio en blanco en cualquier lugar de los datos de los píxeles, excepto dentro de una secuencia de dos caracteres (no se permite entre los dos caracteres de la secuencia). El final del archivo se alcanza después de leer ancho*altura bits.
En contraste, el formato PBM binario comienza con un número mágico de 'P4' en lugar de 'P1'. Después del número mágico, el formato del archivo es el mismo que la versión ASCII hasta que comienzan los datos de los píxeles. Los datos de los píxeles binarios se empaquetan en bytes, siendo el bit más significativo (MSB) de cada byte el que representa el píxel más a la izquierda, y cada fila de píxeles se rellena según sea necesario para completar el último byte. Los bits de relleno no son significativos y sus valores se ignoran.
El formato binario es más eficiente en cuanto a espacio porque usa un byte completo para representar ocho píxeles, en comparación con el formato ASCII que usa al menos ocho bytes (un carácter por píxel más espacio en blanco). Sin embargo, el formato binario no es legible por humanos y requiere un programa que entienda el formato PBM para mostrar o editar la imagen.
Crear un archivo PBM de forma programática es relativamente sencillo. En un lenguaje de programación como C, se abriría un archivo en modo de escritura, se imprimiría el número mágico adecuado, se escribirían el ancho y la altura como números ASCII separados por espacio en blanco, y luego se imprimirían los datos de los píxeles. Para un PBM ASCII, los datos de los píxeles se pueden escribir como una serie de '0' y '1' con los saltos de línea apropiados. Para un PBM binario, los datos de los píxeles deben empaquetarse en bytes y escribirse en el archivo en modo binario.
La lectura de un archivo PBM también es sencilla. Un programa leería el número mágico para determinar el formato, saltaría el espacio en blanco, leería el ancho y la altura, saltaría más espacio en blanco, y luego leería los datos de los píxeles. Para un PBM ASCII, el programa puede leer caracteres de uno en uno e interpretarlos como valores de píxeles. Para un PBM binario, el programa debe leer bytes y desempacarlos en bits individuales para obtener los valores de los píxeles.
El formato PBM no admite ningún tipo de compresión o codificación, lo que significa que el tamaño del archivo es directamente proporcional al número de píxeles de la imagen. Esto puede resultar en archivos muy grandes para imágenes de alta resolución. Sin embargo, la sencillez del formato lo hace ideal para aprender sobre el procesamiento de imágenes, para su uso en situaciones donde la fidelidad de la imagen es más importante que el tamaño del archivo, o para su uso como formato intermedio en procesos de conversión de imágenes.
Una de las ventajas del formato PBM es su sencillez y la facilidad con la que se puede manipular. Por ejemplo, para invertir una imagen PBM (convertir todos los píxeles negros en blancos y viceversa), se pueden reemplazar todos los '0' por '1' y todos los '1' por '0' en los datos de los píxeles. Esto se puede hacer con un simple script o programa de procesamiento de texto. De manera similar, otras operaciones básicas de imagen como la rotación o el espejo se pueden implementar con algoritmos sencillos.
A pesar de su sencillez, el formato PBM no se utiliza ampliamente para el almacenamiento o intercambio general de imágenes. Esto se debe principalmente a su falta de compresión, lo que lo hace ineficiente para almacenar imágenes grandes o para su uso en Internet donde el ancho de banda puede ser una preocupación. Formatos más modernos como JPEG, PNG y GIF ofrecen varias formas de compresión y son más adecuados para estos propósitos. Sin embargo, el formato PBM aún se utiliza en algunos contextos, particularmente para gráficos sencillos en el desarrollo de software y como herramienta de enseñanza para conceptos de procesamiento de imágenes.
El conjunto Netpbm, que incluye el formato PBM, proporciona una colección de herramientas para manipular archivos PBM, PGM y PPM. Estas herramientas permiten la conversión entre los formatos Netpbm y otros formatos de imagen populares, así como operaciones básicas de procesamiento de imágenes como escalado, recorte y manipulación de color. El conjunto está diseñado para ser fácilmente extensible, con una interfaz sencilla para agregar nueva funcionalidad.
En conclusión, el formato de imagen PBM es un formato de archivo sencillo y sin adornos para almacenar imágenes bitmap monocromáticas. Su sencillez lo hace fácil de entender y manipular, lo cual puede ser ventajoso para fines educativos o para tareas sencillas de procesamiento de imágenes. Si bien no es adecuado para todas las aplicaciones debido a su falta de compresión y al resultante gran tamaño de los archivos, sigue siendo un formato útil en los contextos específicos donde sus fortalezas son más beneficiosas. El formato PBM, junto con el resto del conjunto Netpbm, continúa siendo una herramienta valiosa para quienes trabajan con procesamiento básico de imágenes y conversión de formatos.
Este convertidor funciona completamente en tu navegador. Cuando seleccionas un archivo, se lee en la memoria y se convierte al formato seleccionado. Luego puedes descargar el archivo convertido.
Las conversiones comienzan al instante, y la mayoría de los archivos se convierten en menos de un segundo. Archivos más grandes pueden tardar más.
Tus archivos nunca se suben a nuestros servidores. Se convierten en tu navegador, y el archivo convertido se descarga luego. Nosotros nunca vemos tus archivos.
Soportamos la conversión entre todos los formatos de imagen, incluyendo JPEG, PNG, GIF, WebP, SVG, BMP, TIFF y más.
Este convertidor es completamente gratis, y siempre será gratis. Debido a que funciona en tu navegador, no tenemos que pagar por servidores, así que no necesitamos cobrarte.
¡Sí! Puedes convertir tantos archivos como quieras a la vez. Sólo selecciona múltiples archivos cuando los agregues.