Sospechosos habituales

ATA 814 Automatiza el OCR en Linux con modelos de lenguaje locales


Listen Later

En este episodio te enseño a combinar ImageMagick, Tesseract y Llama 3.2 para crear un pipeline de OCR inteligente en Linux. Olvídate de reescribir capturas de pantalla a mano.

¿Cuántas veces te ha pasado que alguien te envía una captura de pantalla con información que necesitas y tienes que copiarla a mano? O peor aún, tienes un PDF escaneado del que no puedes seleccionar texto. Hasta ahora la solución era pasar horas transcribiendo o conformarte con un OCR básico que devuelve texto lleno de errores. En este episodio te muestro cómo construir un pipeline completo que automatiza todo el proceso.

Primero capturas la imagen o la recibes, luego la preprocesas con ImageMagick para mejorar el contraste y eliminar ruido, después aplicas Tesseract para el OCR y por último pasas el resultado por un modelo de lenguaje local, Llama 3.2, que corrige los errores y da formato al texto. Todo con herramientas de código abierto, sin enviar tus datos a servidores externos.

El script ocr_ai.py que he creado es capaz de detectar automáticamente el tipo de contenido que estás procesando. Si es código fuente, aplica un pipeline de preprocesamiento más agresivo con threshold y sharpen intensivos, y un prompt de IA específico para restaurar la indentación y la sintaxis sin cambiar nombres de variables. Si es una tabla, preserva la estructura de filas y columnas, corrigiendo números mal reconocidos pero sin rellenar celdas vacías. Si es prosa, simplemente corrige acentos, puntuación y caracteres mal interpretados sin alterar el significado del texto.

También te explico cómo monitorizar un directorio con inotifywait para que cualquier imagen que caiga en él se procese automáticamente, ideal para combinarlo con carpetas compartidas de Nextcloud o Syncthing y tener OCR automático desde el móvil. Y cómo combinar todo con wl-copy en Wayland o xclip en X11 para tener el texto directamente en el portapapeles con un solo atajo de teclado.

Cubrimos Tesseract 5 y su motor LSTM, los modos de segmentación de página (PSM 3, 6, 7 y 11), los diccionarios personalizados con --user-words para dominios específicos, las operaciones de ImageMagick v7 como colorspace gray, normalize, threshold, deskew, sharpen, negate y morphology, y cómo ajustar cada parámetro según el tipo de imagen. Además hablamos de OCRmyPDF para añadir capa de texto a PDFs escaneados y convertir cualquier PDF en un documento seleccionable y buscable.

El episodio incluye consejos prácticos para troubleshooting: cómo ajustar el threshold cuando el texto es borroso (valores entre 40% y 65%), cómo reducir el ruido con filtros de morfología, cómo redimensionar imágenes con texto muy pequeño usando -resize 200%, cómo manejar fotos de documentos con -median 3, y cómo crear diccionarios personalizados con --user-words para mejorar el reconocimiento en dominios específicos como facturas, logs o código fuente.

Capítulos:

0:00 - El problema de las capturas de pantalla
2:00 - Motivación: running, Hermes y el pipeline completo
4:00 - Captura y preprocesamiento con ImageMagick
6:30 - Operaciones clave: normalize, threshold, deskew y sharpen
8:30 - Pipelines personalizados según el tipo de imagen
10:30 - Tesseract: instalación, modos y diccionarios
14:00 - ocr_ai.py: detección automática del contenido
18:00 - Corrección con Llama 3.2 y prompts específicos
23:00 - Monitorización de directorios y automatización
24:30 - Consejos prácticos y cierre

Más información y enlaces en las notas del episodio

  • 🌐 Aquí lo puedes encontrar todo 👉 https://atareao.es
  • ✈️ Telegram (el grupo) 👉 https://t.me/atareao_con_linux
  • ✈️ Telegram (el canal) 👉 https://t.me/canal_atareao
  • 🦣 Mastodon 👉 https://mastodon.social/@atareao
  • 🐦 Twitter 👉 https://twitter.com/atareao
  • 🐙 GitHub 👉 https://github.com/atareao
...more
View all episodesView all episodes
Download on the App Store

Sospechosos habitualesBy Sospechosos Habituales


More shows like Sospechosos habituales

View all
Emilcar Daily by Emilcar

Emilcar Daily

24 Listeners

Applelianos by Applelianos

Applelianos

56 Listeners

Radio Fitness Revolucionario by Marcos Vázquez

Radio Fitness Revolucionario

137 Listeners

iSenaCode Live by Sergio Navas

iSenaCode Live

85 Listeners

Podcast WINTABLET.INFO by Javier Fernandez

Podcast WINTABLET.INFO

0 Listeners

mixx.io by Álex Barredo

mixx.io

40 Listeners

LO QUE TÚ DIGAS con Alex Fidalgo by Alex Fidalgo

LO QUE TÚ DIGAS con Alex Fidalgo

67 Listeners

Las Charlas de Applesfera by Webedia

Las Charlas de Applesfera

36 Listeners

Leña al mono que es de goma by rfog

Leña al mono que es de goma

0 Listeners

Cupertino, podcast sobre Apple by Álex Barredo, Ángel Jiménez, Matías Zavia

Cupertino, podcast sobre Apple

15 Listeners

Loop Infinito (by Xataka) by Webedia

Loop Infinito (by Xataka)

57 Listeners

Cacharreogeek by Cacharreogeek

Cacharreogeek

0 Listeners

monos estocásticos by Antonio Ortiz, Matías S. Zavia

monos estocásticos

3 Listeners

El Podcast de Marc Vidal by Marc Vidal

El Podcast de Marc Vidal

7 Listeners

El Mancuentro by Mancuentro Patal

El Mancuentro

0 Listeners