J'obtiens l'erreur suivante lorsque j'essaie d'imprimer une simple image de test en texte.
J'ai vérifié que j'ai Pillow (PIL 1.1.7) et j'ai essayé de désinstaller et réinstaller pytesseract. Les chemins d'accès aux fichiers sont corrects car si je les change, j'obtiens une autre erreur indiquant que le fichier est introuvable.
Mon code:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd= r'C:\Users\bbrown2\AppData\Local\
Programs\Python\Python37\Scripts\pytesseract'
img = r'C:\Users\bbrown2\Desktop\test.png'
print(pytesseract.image_to_string(Image.open(img)))
Je m'attends à ce qu'il imprime les mots dans l'image mais à la place, j'obtiens toujours ceci:
Traceback (most recent call last):
File
"c:\Users\bbrown2\Desktop\PythonMaterials\python_test_tesseract.py", line
14, in <module>
print(pytesseract.image_to_string(Image.open(image)))
File "C:\Users\bbrown2\AppData\Local\Programs\Python\Python37\lib\site-
packages\pytesseract\pytesseract.py", line 309, in image_to_string
}[output_type]()
File "C:\Users\bbrown2\AppData\Local\Programs\Python\Python37\lib\site-
packages\pytesseract\pytesseract.py", line 308, in <lambda>
Output.STRING: lambda: run_and_get_output(*args),
File "C:\Users\bbrown2\AppData\Local\Programs\Python\Python37\lib\site-
packages\pytesseract\pytesseract.py", line 218, in run_and_get_output
run_tesseract(**kwargs)
File "C:\Users\bbrown2\AppData\Local\Programs\Python\Python37\lib\site-
packages\pytesseract\pytesseract.py", line 194, in run_tesseract
raise TesseractError(status_code, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (2, 'Usage: python pytesseract.py
[-l lang] input_file')
Le problème est que pytesseract est juste un joli Python pour le programme de ligne de commande Tesseract . Vous êtes censé pointer tesseract_cmd
Vers le binaire Tesseract réel , pas l'utilitaire CLI pytesseract.
Vous devrez donc installer Tesseract. Windows builds sont disponibles. J'ai choisi le programme d'installation de la version 3.05, et il s'est installé par défaut sur C:\Program Files (x86)\Tesseract-OCR\tesseract
. Ensuite, j'ai exécuté ce qui suit et cela a bien fonctionné:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = (
r"C:\Program Files (x86)\Tesseract-OCR\tesseract"
)
img = r"C:\Users\cody\Desktop\ocrtest.png"
print(pytesseract.image_to_string(Image.open(img)))
Entrée de test:
The (quick) [brown] {fox} jumps!
Over the $43,456.78 <lazy> #90 dog
& duck/goose, as 12.5% of E-mail
from [email protected] is spam.
Der ,,schnelle” braune Fuchs springt
fiber den faulen Hund. Le renard brun
«rapide» saute par-dessus le chien
paresseux. La volpe marrone rapida
salta sopra i] cane pigro. El zorro
marrén répido salta sobre el perro
perezoso. A raposa marrom répida
salta sobre 0 C50 preguicoso.