web-dev-qa-db-fra.com

Pytesseract.TesseractError 'Utilisation: python pytesseract.py [-l lang] fichier_entrée

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')
8
Blair

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:

enter image description here Résultat:

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.
6
cody