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:
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:
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.
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.
Verifica la versión de pytesseract: Asegúrate de estar utilizando la última versión de pytesseract.
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.
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.