es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede extraer texto persa / farsi de una imagen en Python utilizando pytesseract.

Estoy utilizando pytesseract para extraer texto persa de la imagen, ¡pero no obtengo nada!
Descargué fas.traineddata y lo puse en tessdata, ¡pero aún no funciona!

Aquí está mi código:

import cv2
import pytesseract
from unidecode import unidecode

pytesseract.pytesseract.tesseract_cmd = 'D:\\New folder\\tesseract.exe'
img = cv2.imread('B.png')

text = pytesseract.image_to_string(img, lang='fas')

print(text)

Y aquí está la imagen de entrada:
imagen de entrada

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que has hecho todo correctamente en cuanto a la instalación de los paquetes requeridos y la descarga del archivo de datos entrenados. Sin embargo, el problema podría estar en la calidad de la imagen de la que estás intentando extraer texto. Prueba los siguientes pasos:

    1. Preprocesa la imagen: Antes de pasar la imagen a pytesseract, intenta preprocesarla para mejorar la calidad. Por ejemplo, puedes aplicar filtros como umbralización, difuminado, etc.
    2. Prueba diferentes métodos: Si el preprocesamiento de la imagen no funciona, puedes probar diferentes métodos para la extracción de texto. Por ejemplo, puedes intentar usar OCR.space API u otras bibliotecas de OCR como Google Cloud Vision API, AWS Rekognition, etc.

    3. Verifica el idioma: Asegúrate de estar utilizando el código de idioma correcto para el persa (fa o fas), y de que la imagen contenga texto en persa.

    4. Verifica la versión de pytesseract: Asegúrate de estar utilizando la última versión de pytesseract.

    5. Verifica la instalación de tesseract: Asegúrate de que la ruta de instalación de Tesseract sea correcta y de que esté incluida en la ruta del sistema.

    6. Depuración: También puedes intentar imprimir la salida de pytesseract.image_to_osd() y pytesseract.image_to_boxes(), lo cual puede ayudarte a entender cómo pytesseract está procesando la imagen.

    En general, es difícil diagnosticar el problema solo con el código y la imagen proporcionada. Prueba los pasos anteriores y verifica si te ayudan.

Comments are closed.