Imagen a texto (OCR)
Extrae el texto de capturas de pantalla, escaneos y fotos en tu navegador. OCR gratis en cinco idiomas, por lotes, con copia, .txt y .zip y sin subir nada a ningún servidor.
Cargando Imagen a texto (OCR)… Si no ocurre nada, activa JavaScript.
El reconocimiento óptico de caracteres, OCR por sus siglas en inglés, es el proceso de convertir una imagen de texto otra vez en texto que puedes seleccionar, buscar y editar. Esta herramienta lo hace con Tesseract, el motor de OCR que Google mantiene como código abierto desde 2006, compilado a WebAssembly para ejecutarse dentro de tu navegador en lugar de en un servidor. Suelta una captura de pantalla, una página escaneada, la foto de un recibo o una diapositiva de una presentación, elige el idioma y obtienes texto plano que puedes copiar, descargar como archivo .txt o pegar directamente en un documento. Puedes poner varias imágenes en cola y se leen una tras otra.
Preguntas frecuentes
¿Se suben mis imágenes a un servidor?
¿Por qué es lenta la primera ejecución?
¿Qué idiomas se admiten?
¿Puede leer escritura a mano?
¿Por qué el texto extraído está lleno de caracteres absurdos?
¿Qué significa la puntuación de confianza?
¿Qué formatos de imagen puedo usar?
¿Puede leer un PDF escaneado?
¿Conserva la disposición, las tablas y las columnas?
¿Cuántas imágenes puedo procesar a la vez?
Acerca de Imagen a texto (OCR)
Dos ajustes deciden casi todo el resultado. El idioma importa más de lo que la gente espera, porque Tesseract no solo compara formas, también valora qué secuencias de letras son plausibles en el idioma que has elegido. Leer texto español o portugués con el modelo inglés es el motivo más común de que los caracteres acentuados salgan mal, así que elige primero el idioma correcto. El ajuste de disposición de la página le dice al motor qué tipo de estructura esperar: el modo automático maneja una página normal con párrafos y columnas, el bloque único es mejor cuando has recortado bien alrededor de un solo fragmento de texto, la línea única sirve para un número de serie o un código, la palabra única es para una etiqueta, y el texto disperso es el modo que hay que usar cuando las palabras están repartidas por la imagen, como en un diagrama, un mapa o una captura de un videojuego.
La calidad de la entrada marca el techo de la precisión, y la resolución es la palanca principal. A Tesseract le gustan los caracteres de unos veinte píxeles de alto o más, y por eso una captura de pantalla nítida suele salir perfecta y una foto del mismo texto tomada desde el otro lado de la sala no. El caso ideal es texto oscuro sobre fondo claro, recto, con iluminación uniforme y buen contraste: documentos impresos, capturas de pantalla, subtítulos, páginas de libros, facturas, formularios y diapositivas funcionan bien. La distorsión de perspectiva, las sombras que cruzan la página, el desenfoque de movimiento, las tipografías decorativas o muy estilizadas, las tablas densas y la escritura a mano son donde el OCR sufre, y ningún motor que se ejecute en tu teléfono leerá letra cursiva de forma fiable. Si un resultado parece malo, recorta más cerca del texto, endereza la imagen, vuelve a escanear a 300 ppp y solo entonces culpa al motor.
Todo ocurre en tu dispositivo. El motor en sí, unos 4 MB de WebAssembly, y los datos del idioma, entre 0,7 y 3 MB según el caso, se descargan de este sitio la primera vez que ejecutas el OCR y luego quedan en la caché del navegador, así que las visitas siguientes empiezan al instante y funcionan sin conexión. Tus imágenes nunca se suben, no se almacena nada y no se registra nada, que es la diferencia práctica entre esto y los muchos servicios de OCR en línea que te piden entregar un contrato, el escaneo de un pasaporte o un formulario médico. Cada resultado viene con una puntuación de confianza para saber de un vistazo si puedes fiarte, y con varios archivos cargados puedes descargar todos los textos extraídos en un solo .zip.
Cien años de máquinas que leen
La idea de una máquina que lee es más antigua que el ordenador. En 1913 el físico Edmund Fournier d'Albe construyó el Optophone, un aparato que recorría una línea impresa y la convertía en tonos musicales para que los lectores ciegos pudieran oír la forma de las letras. Funcionaba, a su manera, a unas palabras por minuto. En 1929 Gustav Tauschek patentó una máquina que comparaba caracteres impresos con plantillas metálicas mediante un fotodetector, y en 1931 Emanuel Goldberg registró una máquina estadística para buscar en archivos de microfilm por patrones. Ninguna reconocía texto en un sentido general, pero establecieron el truco que todo sistema de OCR sigue usando: lanzar luz sobre la página y medir lo que vuelve.
El avance comercial llegó por una vía inesperada. En 1974 Ray Kurzweil fundó una empresa para construir OCR omni-font, software capaz de leer cualquier tipografía en lugar de solo aquella para la que se había hecho, y el primer cliente que tenía en mente no era una oficina, era un lector ciego. La Kurzweil Reading Machine de 1976 combinó un escáner plano, OCR y un sintetizador de voz en un único aparato del tamaño de un escritorio. Stevie Wonder compró una de las primeras unidades y siguió siendo cliente y amigo de la empresa durante décadas. Por la misma época el servicio postal de Estados Unidos empezó a usar OCR para clasificar correo leyendo direcciones, y sigue siendo una de las mayores implantaciones de OCR jamás construidas.
Tesseract, el motor detrás de esta página, tiene una historia que se lee como un pequeño milagro de conservación de software. Se escribió en el laboratorio de Hewlett-Packard en Bristol entre 1984 y 1994, se consideró lo bastante preciso para quedar cerca de lo más alto en las pruebas de precisión de la UNLV de 1995, y luego se archivó cuando HP abandonó el mercado. Estuvo una década sin usarse. En 2005 HP liberó el código como software abierto, y en 2006 Google asumió el mantenimiento, hasta reescribir el núcleo de reconocimiento en torno a redes neuronales LSTM en la versión 4. El resultado es que un programa compilado originalmente para estaciones de trabajo HP de los años ochenta es hoy el motor de OCR por defecto del mundo del código abierto y, compilado a WebAssembly, se ejecuta dentro de una pestaña del navegador en un teléfono.
Un detalle explica casi toda la frustración con el OCR. El motor no lee letra por letra de forma aislada, combina las formas que ve con un modelo de qué secuencias son plausibles en el idioma, exactamente como haces tú al leer una letra difícil. Por eso la misma imagen da resultados distintos en idiomas distintos, por eso los nombres propios y los números de serie son más difíciles que la prosa corriente, y por eso el error clásico del OCR es una palabra equivocada pero pronunciable. También por eso las letras que engañan a las máquinas son las que engañan a las personas: 0 contra O, 1 contra l contra I, rn contra m, y cl contra d.