Conversión de archivos

Cómo extraer texto de una imagen: 8 consejos para un OCR preciso

Probamos nuestra herramienta gratuita de OCR con texto diminuto, líneas torcidas, sombras, desenfoque y texto en español. Descubre qué estropea de verdad el reconocimiento, cómo preparar una foto o captura y cómo revisar el resultado.

Por Publicado el 6 min de lectura

El reconocimiento óptico de caracteres (OCR) convierte los píxeles de una imagen en texto que puedes copiar, editar y buscar. Sirve para copiar una cita de una captura de pantalla, buscar en una carta escaneada o copiar el importe de una factura fotografiada. El OCR moderno funciona muy bien con imágenes limpias y es sorprendentemente frágil con las malas. Esta guía muestra qué problemas pesan más, con mediciones hechas con nuestra propia herramienta Imagen a texto.

Cómo funciona el OCR en tu navegador

Nuestra herramienta usa Tesseract, un motor de OCR de código abierto que se desarrolló en Hewlett-Packard entre 1985 y 1994, se liberó como código abierto en 2005 y fue desarrollado por Google entre 2006 y 2017. Desde la versión 4 reconoce líneas completas de texto con una red neuronal (LSTM). El proyecto tesseract.js permite ejecutarlo dentro del navegador.

Cuando inicias un reconocimiento, el motor y los datos del idioma (español, inglés, alemán o persa) se descargan de nuestro servidor; tu imagen nunca se sube. Antes de reconocerla, la herramienta dibuja la imagen sobre un fondo blanco, para que funcionen los PNG transparentes, y amplía las imágenes pequeñas hasta que el lado más largo mide unos 1600 píxeles, como máximo el triple del original. Como muestran las mediciones, ese paso marca una gran diferencia.

Qué probamos

Generamos como imagen el mismo texto corto en inglés, una nota de factura con un número, una fecha, un importe y un porcentaje, en distintas condiciones, y pasamos cada imagen por el reconocimiento de la herramienta. La puntuación es la precisión por caracteres: la proporción de caracteres que coinciden con el original tras normalizar los espacios. Un 100 % significa un resultado perfecto.

Texto oscuro sobre blanco, Liberation Sans, PNG. Precisión por caracteres con el modelo en inglés.
Altura de una «x» minúsculaTamaño de la imagenA tamaño originalAmpliada por la herramienta
4 px (letra de 8 px)224 × 6029,9 %89,1 %
5 px (letra de 10 px)280 × 7692,5 %99,5 %
7 px (letra de 12 px)336 × 88100 %100 %
10 px (letra de 18 px)504 × 136100 %100 %
19 px (letra de 36 px)1009 × 272100 %100 %

Un texto cuyas minúsculas medían solo 4 píxeles era casi ilegible a tamaño original; al ampliarlo, la precisión subió del 30 % al 89 %. Aun así, el motor leyó «1.28450» en lugar de «1,284.50», justo el tipo de error que importa en una factura. A partir de unos 7 píxeles, nuestras imágenes de prueba limpias se reconocieron prácticamente sin errores. Las recomendaciones publicadas para Tesseract son más prudentes y consideran ideal una altura de la x de 20 a 40 píxeles, así que con fotos reales merece la pena acercarse o hacer zoom.

Texto en español con tildes y eñes

Repetimos la prueba de tamaños con una nota de factura en español («El total de 1.284,50 euros incluye un 21 % de IVA», «Guarda este recibo durante un año…»), reconocida con el modelo de español:

Liberation Sans, texto oscuro sobre blanco, modelo de idioma español.
Tamaño de letraA tamaño originalAmpliada por la herramienta
10 px96,0 %100 %
12 px100 %100 %
16 px100 %100 %
24 px100 %100 %

Las tildes y la ñ no supusieron ningún problema. Con la letra más pequeña, la ampliación automática bastó para pasar del 96 % a un resultado perfecto.

Cada imagen reconocida una vez con el procesamiento predeterminado de la herramienta (texto en inglés).
Condición (texto con una x de 19 px)Precisión
Inclinado 2°100 %
Inclinado 5°100 %
Inclinado 10°94,5 %
Inclinado 20°45,3 %
Texto gris claro sobre blanco (#999)100 %
Texto gris muy claro sobre blanco (#ccc)100 %
Texto claro sobre fondo oscuro100 %
Mucho ruido aleatorio100 %
Desenfocado (desenfoque gaussiano de 3 píxeles)89,6 %
Sombra: el brillo cae al 35 % a lo ancho de la imagen64,7 %
Letra pequeña (7 px) guardada en JPG con calidad 1096,5 %

Tres cosas hacen más daño: una inclinación de más de unos pocos grados, el desenfoque y la luz desigual. La prueba de la sombra es la más reveladora. Tesseract se saltó en silencio la parte más oscura de cada línea y, aun así, indicó una confianza del 95 % para el texto que sí devolvió. Una confianza alta no significa que no falte nada.

8 consejos para obtener mejores resultados

1. Haz que el texto sea lo bastante grande

Acércate o haz zoom en lugar de fotografiar una página entera desde lejos. Para capturas de pantalla, amplía la web o el documento al 150–200 % antes de capturar. Para escaneos, 300 ppp es la recomendación habitual con tamaños de letra normales.

2. Mantén las líneas rectas

Hasta 5° de inclinación no afectaron en nuestra prueba, 10° costaron unos puntos y 20° dejaron el resultado inservible. Sujeta el móvil paralelo a la página. Endereza las imágenes giradas o al revés con la herramienta Girar y voltear imagen; si la inclinación es leve, repite la foto o enderézala con el editor de fotos del móvil.

3. Ilumina la página de forma uniforme

Las sombras de la mano o del móvil son el problema más frecuente en las fotos de documentos. Usa luz natural o dos fuentes de luz, evita los reflejos del flash en el papel brillante y revisa primero las zonas más oscuras del resultado.

4. Recorta hasta dejar solo el texto

Quita el fondo, otras columnas e imágenes con la herramienta Recortar imagen. Menos distracciones significan menos caracteres sueltos y un orden de lectura correcto, sobre todo en páginas con varias columnas.

5. Quédate quieto y enfoca

El desenfoque costó unos diez puntos porcentuales en nuestra prueba. Toca la pantalla para enfocar, apoya los codos en la mesa y haz dos fotos si la primera se ve borrosa.

6. Elige el idioma correcto

Selecciona el idioma del texto antes de empezar: el modelo de idioma sabe qué letras y palabras esperar. Para documentos mixtos, elige una combinación como español + inglés. El texto persa, con sus letras unidas, necesita una imagen más limpia y nítida que el alfabeto latino; las capturas de pantalla suelen funcionar bien.

7. Guarda las capturas en PNG

La compresión JPG añade manchas alrededor de las letras. Nuestra imagen de prueba muy comprimida (JPG con calidad 10) aún alcanzó el 96,5 %, pero cada error es uno que tienes que encontrar tú. Si puedes elegir, guarda las capturas en PNG, que no tiene pérdida.

8. Revisa siempre los números y los nombres

Los errores del OCR parecen verosímiles: «1.28450» en lugar de «1,284.50», una l minúscula en lugar del número 1, «rn» en lugar de «m». Compara importes, fechas, números de cuenta y nombres con el original antes de usar el texto.

Imagen a texto (OCR)Extrae el texto de imágenes, capturas de pantalla y escaneos con OCR, en español, inglés, alemán o persa. Gratis, privado y directamente en tu navegador.Abrir herramienta

Capturas, escaneos y fotos: comparación

OrigenCalidad habitualA qué prestar atención
Captura de pantallaExcelente: nítida, recta, contraste uniformeLetra pequeña; amplía antes
Escáner (300 ppp)Muy buenaBordes oscuros, páginas torcidas
Foto con el móvilVariableInclinación, sombras, desenfoque, páginas curvadas

Privacidad: por qué importa el OCR local

Los documentos que se pasan por OCR suelen ser privados: contratos, cartas, documentos de identidad, extractos bancarios. Muchos conversores en línea los suben a un servidor. Nuestra herramienta Imagen a texto hace todo el trabajo en la pestaña de tu navegador. Cierra la pestaña y no queda nada.

Herramientas de esta guía

Preguntas frecuentes

¿El OCR puede leer texto manuscrito?

Solo con dificultad. Tesseract está entrenado con texto impreso. Las mayúsculas cuidadas a veces funcionan; la letra cursiva casi nunca.

¿Qué idiomas admite la herramienta?

Español, inglés, alemán y persa, además de combinaciones de español, alemán o persa con inglés para documentos mixtos.

¿Por qué faltan algunas líneas en el resultado?

Normalmente por una iluminación desigual, un texto muy pequeño o un fondo recargado. En nuestra prueba de la sombra, el motor se saltó la parte más oscura de cada línea sin avisar. Recorta la imagen, mejora la luz y vuelve a intentarlo.

¿Una confianza alta significa que el texto es correcto?

No. La puntuación describe los caracteres reconocidos, no los que se han perdido. Compara siempre los datos importantes con el original.

¿Se sube mi imagen?

No. La imagen se procesa en tu navegador; solo el motor de OCR y los datos del idioma se descargan de nuestro servidor.

Fuentes y lecturas recomendadas

  1. Tesseract OCR – README and history (GitHub) (github.com)
  2. Tesseract.js – Tesseract OCR in JavaScript (tesseract.projectnaptha.com)
  3. Tesseract documentation: Improving the quality of the output (tesseract-ocr.github.io)
  4. iDigBio: OCR tips (x-height and resolution) (www.idigbio.org)
Todas las guías