¿Cómo puedo extraer texto de imágenes?
No me refiero a archivos escaneados, sino a imágenes variadas, como cuando tomas una fotografía en alta definición de una pizarra en clase y está muy bien escrita a mano; o cuando fotografías una página de un recetario y quieres la receta en formato de texto.
¿Algún software gratuito y abierto para eso?
Probé Tesseract y los resultados fueron terribles.
Respuesta1
tesseract-ocr
Sería el mejor comparado con todos los demás. Para la instalación, ejecute el siguiente comando
sudo apt-get install tesseract-ocr
El uso es tesseract filename.jpg output.txt
, luego generará output.txt
el archivo.
Podría considerar seleccionar el idioma apropiado. En ese caso, necesitarás instalar tesseract-ocr-LANG
el paquete, donde LANG
está el código de tres letras.Código de idioma ISO 639-2. En este momento tienes 123 idiomas en el repositorio 18.04.Entonces usaPor ejemplo:
tesseract mySpanishText.jpg output -l spa
Respuesta2
El acto de extraer texto de imágenes se llama OCR
y Ubuntu tiene una página wiki dedicada aLOC. De esa página:
Herramientas de OCR disponibles
Los repositorios de Ubuntu Universe contienen las siguientes herramientas de OCR:
- gocr- Una línea de comando OCR
- difusocr- complemento spamassassin para comprobar archivos adjuntos de imágenes
- libhocr0- OCR hebreo
- ocrad- Programa de reconocimiento óptico de caracteres
- alimentador- Análisis de diseño de documentos y sistema de reconocimiento óptico de caracteres.
- ocropo- análisis de documentos y sistema OCR
- tesseract-ocr
Los repositorios de Ubuntu multiverse también contienen:
- cuneiforme- sistema OCR multilingüe
Algunos paquetes están desactualizados, pero se pueden encontrar otros nuevos no oficiales enAlex_P PPA(Código de adición de PPA: ppa:alex-p/notesalexp). Si nunca utilizó un cheque PPAcómo agregar software desde un PPA.
editar: como se muestra en el comentarioClara OCRTambién existe, pero se bloqueó en Hardy y su sitio web tiene 2009 como última actualización.
Respuesta3
Respuesta4
Usando tesseract-ocr
podemos extraertextodeimágenes. He probado gocr
cuál no funcionó bien en comparación contesseract-ocr
Instalación:
sudo apt-get install tesseract-ocr
Python
programa para convertir todos los archivos de imagen conpngextensión dentro del directorio actual paraTXTarchivo
#!/usr/bin/env python3.10
import os
import subprocess
def list_files(path):
files = []
for name in os.listdir(path):
if os.path.isfile(os.path.join(path, name)):
files.append(os.path.join(path, name))
return files
def convertImageToText(img_file):
#process = subprocess.Popen(['tesseract', img_file,
# ''.join(img_file.rsplit('.png', 1))])
os.system(f"tesseract {img_file} {''.join(img_file.rsplit('.png', 1))}")
def startOperation():
list_file = list_files(".")
print(list_file)
for img_file in list_file:
if img_file.lower().split(".")[-1] == "png":
convertImageToText(img_file)
startOperation()