Ich versuche, einen einfachen und sehr einfachen Code in Python auszuführen.
from PIL import Image
import pytesseract
im = Image.open("sample1.jpg")
text = pytesseract.image_to_string(im, lang = 'eng')
print(text)
So sieht es aus, ich habe tatsächlich Tesseract für Windows über das Installationsprogramm installiert. Ich bin sehr neu in Python und bin mir nicht sicher, wie ich vorgehen soll?
Jede Anleitung hier wäre sehr hilfreich. Ich habe versucht, meine Spyder-Anwendung neu zu starten, aber ohne Erfolg.
Antworten:
Ich sehe Schritte in verschiedenen Antworten verstreut. Basierend auf meinen jüngsten Erfahrungen mit diesem Pytesseract-Fehler unter Windows schreiben Sie verschiedene Schritte nacheinander, um die Behebung des Fehlers zu vereinfachen:
1 . Installieren Sie tesseract mit dem Windows-Installationsprogramm, das unter folgender Adresse verfügbar ist: https://github.com/UB-Mannheim/tesseract/wiki
2 . Beachten Sie den Tesseract-Pfad aus der Installation. Der Standardinstallationspfad zum Zeitpunkt dieser Bearbeitung war :
C:\Users\USER\AppData\Local\Tesseract-OCR
. Es kann sich ändern. Überprüfen Sie daher den Installationspfad.3 .
pip install pytesseract
4 . Legen Sie den Tesseract-Pfad im Skript fest, bevor Sie Folgendes aufrufen
image_to_string
:pytesseract.pytesseract.tesseract_cmd = r'C:\Users\USER\AppData\Local\Tesseract-OCR\tesseract.exe'
quelle
Zuerst sollten Sie binär installieren:
Unter Linux
Auf dem Mac
Unter Windows
Laden Sie die Binärdatei von https://github.com/UB-Mannheim/tesseract/wiki herunter . Fügen
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
Sie dann zu Ihrem Skript hinzu.Dann sollten Sie das Python-Paket mit pip installieren:
Referenzen: https://pypi.org/project/pytesseract/ (Abschnitt INSTALLATION) und https://github.com/tesseract-ocr/tesseract/wiki#installation
quelle
Nur für Windows
1 - Auf Ihrem Computer muss Tesseract OCR installiert sein.
2 - Fügen Sie Ihrer Systemumgebung den Tesseract-Pfad hinzu. dh Systemvariablen bearbeiten.
3 - Ausführen
pip install pytesseract
undpip install tesseract
4 - Fügen Sie diese Zeile jedes Mal zu Ihrem Python-Skript hinzu
pytesseract.pytesseract.tesseract_cmd = 'C:/OCR/Tesseract-OCR/tesseract.exe' # your path may be different
5 - Führen Sie den Code aus.
quelle
Von https://pypi.org/project/pytesseract/ :
pytesseract.pytesseract.tesseract_cmd = '<full_path_to_your_tesseract_executable>' # Include the above line, if you don't have tesseract executable in your PATH # Example tesseract_cmd: 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'
quelle
In Fenstern:
Pip installieren Tesseract
pip install tesseract-ocr
Überprüfen Sie die in Ihrem System gespeicherte Datei usr / appdata / local / programme / site-pakages / python / python36 / lib / pytesseract / pytesseract.py und kompilieren Sie die Datei
quelle
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"
damit Tesseract funktioniert.Auf einem Mac können Sie es wie unten gezeigt installieren. Das funktioniert bei mir.
quelle
Dieser Fehler ist darauf zurückzuführen, dass tesseract nicht auf Ihrem Computer installiert ist.
Wenn Sie Ubuntu verwenden, installieren Sie tesseract mit dem folgenden Befehl:
Für Mac:
quelle
Sie können dieses Paket installieren ... https://github.com/UB-Mannheim/tesseract/wiki Danach sollten Sie diesen Pfad C: \ Programme (x86) \ Tesseract-OCR \ tesseract.exe gehen und dann die Datei tesseract ausführen . Ich denke, das wird dir helfen ...
quelle
Fügen Sie unter Windows 64-Bit der Umgebungsvariablen PATH einfach Folgendes hinzu:
"C:\Program Files\Tesseract-OCR"
und es wird funktionieren.quelle
Ich kann es lösen, indem ich die Variable tesseract_cmd mit dem Pfad bin / tesseract in der Datei pytesseract.py aktualisiere
quelle
Ich hatte das gleiche Problem unter Windows. Ich habe versucht, die Umgebungsvariablen für den Pfad von tesseract zu aktualisieren, was nicht funktioniert hat.
Was für mich funktioniert hat, war die Änderung der Datei pytesseract.py, die sich auf dem Pfad
C:\Program Files\Python37\Lib\site-packages\pytesseract
oder normalerweise in der befindetC:\Users\YOUR USER\APPDATA\Python
Ich habe eine Zeile wie folgt geändert:
#tesseract_cmd = 'tesseract' #tesseract_cmd = 'C:\Program Files\Tesseract-OCR\\tesseract.exe'
Hinweis: Ich musste
\
vor tesseract ein Extra einfügen, da Python dasselbe interpretierte wie\t
und Sie erhalten die folgende Fehlermeldung:quelle
Sie müssten tesseract installieren.
Lesen Sie die obige Dokumentation zur Installation.
quelle
Schritt 1:
Installieren Sie tesseract gemäß dem Betriebssystem auf Ihrem System. Die neuesten Installationsprogramme finden Sie unter https://github.com/UB-Mannheim/tesseract/wiki
Schritt 2: Installieren Sie die folgenden Abhängigkeitsbibliotheken mit: pip install pytesseract pip install opencv-python pip install numpy
Schritt 3: Beispielcode
import cv2 import numpy as np import pytesseract from PIL import Image from pytesseract import image_to_string # Path of working folder on Disk Replace with your working folder src_path = "C:\\Users\\<user>\\PycharmProjects\\ImageToText\\input\\" # If you don't have tesseract executable in your PATH, include the following: pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract- OCR/tesseract' TESSDATA_PREFIX = 'C:/Program Files (x86)/Tesseract-OCR' def get_string(img_path): # Read image with opencv img = cv2.imread(img_path) # Convert to gray img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # Apply dilation and erosion to remove some noise kernel = np.ones((1, 1), np.uint8) img = cv2.dilate(img, kernel, iterations=1) img = cv2.erode(img, kernel, iterations=1) # Write image after removed noise cv2.imwrite(src_path + "removed_noise.png", img) # Apply threshold to get image with only black and white #img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 31, 2) # Write the image after apply opencv to do some ... cv2.imwrite(src_path + "thres.png", img) # Recognize text with tesseract for python result = pytesseract.image_to_string(Image.open(src_path + "thres.png")) # Remove template file #os.remove(temp) return result print('--- Start recognize text from image ---') print(get_string(src_path + "image.png") ) print("------ Done -------")
quelle
In Windows muss der Befehlspfad für eine Standardinstallation von Windows Tesseract umgeleitet werden.
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'
quelle
Vielleicht passiert dies, weil Sie, selbst wenn Tesseract korrekt installiert ist, Ihre Sprache nicht wie in meinem Fall installiert haben. Glücklicherweise ist dies sehr einfach zu beheben und ich musste mich nicht einmal damit anlegen
tesseract_cmd
.sudo apt-get install tesseract-ocr -y sudo apt-get install tesseract-ocr-spa -y tesseract --list-langs
Beachten Sie, dass wir in der zweiten Zeile
-spa
für Spanisch angegeben haben .Wenn die Installation erfolgreich war, sollten Sie eine Liste Ihrer verfügbaren Sprachen erhalten, wie z.
List of available languages (3): eng osd spa
Ich fand dies in diesem Blog-Beitrag (Spanisch). Es gibt auch einen Beitrag zur Installation der spanischen Sprache in Windows (anscheinend nicht so einfach).
Hinweis : Da die Frage verwendet wird
lang = 'eng'
, ist dies in diesem speziellen Fall wahrscheinlich nicht die Antwort. Aber der gleiche Fehler kann in dieser anderen Situation auftreten, weshalb ich die Antwort hier gepostet habe.quelle
Verwenden Sie den folgenden Befehl, um tesseract zu installieren
pip install tesseract
quelle
# {Windows 10 instructions} # before you use the script you need to install the dependence # 1. download the tesseract from the official link: # https://github.com/UB-Mannheim/tesseract/wiki # 2. install the tesseract # i chosed this path # *replace the user string in the below path with you name of user that you are using in your current machine # C:\Users\user\AppData\Local\Tesseract-OCR\ # 3. Install the pillow for your python version # * the best way for me is to install is this form(i'am using python3.7 version and in my CMD i run this version of python by typing py -3.7): # * if you are using another version of python first look how you start the python from you CMD # * for some machine the run of python from the CMD is different # [examples] # ================================= # PYTHON VERSION 3.7 # python # python3.7 # python -3.7 # python 3.7 # python3 # python -3 # python 3 # py3.7 # py -3.7 # py 3.7 # py3 # py -3 # py 3 # PYTHON VERSION 3.6 # python # python3.6 # python -3.6 # python 3.6 # python3 # python -3 # python 3 # py3.6 # py -3.6 # py 3.6 # py3 # py -3 # py 3 # PYTHON VERSION 2.7 # python # python2.7 # python -2.7 # python 2.7 # python2 # python -2 # python 2 # py2.7 # py -2.7 # py 2.7 # py2 # py -2 # py 2 # ================================ # we are using pip to install the dependences # because for me i start the python version 3.7 with the following line # py -3.7 # open the CMD in windows machine and type the following line: # py -3.7 -m pip install pillow # 4. Install the pytesseract and tesseract for your python version # * the best way for me is to install is this form(i'am using python3.7 version and in my CMD i run this version of python by typing py -3.7): # we are using pip to install the dependences # open the CMD in windows machine and type the following lines: # py -3.7 -m pip install pytesseract # py -3.7 -m pip install tesseract #!/usr/bin/python from PIL import Image import pytesseract import os import getpass def extract_text_from_image(image_file_name_arg): # IMPORTANT # if you have followed my instructions to install this dependence in above text explanatin # for my machine is # if you don't put the right path for tesseract.exe the script will not work username = getpass.getuser() # here above line get the username for your machine automatically tesseract_exe_path_installation="C:\\Users\\"+username+"\\AppData\\Local\\Tesseract-OCR\\tesseract.exe" pytesseract.pytesseract.tesseract_cmd=tesseract_exe_path_installation # specify the direction of your image files manually or use line bellow if the images are in the script directory in folder images # image_dir="D:\\GIT\\ai_example\\extract_text_from_image\\images" image_dir=os.getcwd()+"\\images" dir_seperator="\\" image_file_name=image_file_name_arg # if your image are in different format change the extension(ex. ".png") image_ext=".jpg" image_path_dir=image_dir+dir_seperator+image_file_name+image_ext print("=============================================================================") print("image used is in the following path dir:") print("\t"+image_path_dir) print("=============================================================================") img=Image.open(image_path_dir) text=pytesseract.image_to_string(img, lang="eng") print(text) # change the name "image_1" whith the name without extension for your image name # image_file_name_arg="image_1" image_file_name_arg="image_2" # image_file_name_arg="image_3" # image_file_name_arg="image_4" # image_file_name_arg="image_5" extract_text_from_image(image_file_name_arg) # ================================== # CREATED BY: SHERIFI # e-mail: [email protected] # git-link for script: https://github.com/sherifi/ai_example.git # ==================================
quelle
For Ubuntu 18.04
Wenn Sie einen Fehler wie erhalten
tesseract is not installed or it's not in your path and OSError: [Errno 12] Cannot allocate memory
Dies könnte ein Problem mit der Swap-Speicherzuweisung sein
Sie können diese Antwort überprüfen und mehr Swap-Speicher zuweisen. Hoffe, das hilft :)
/ubuntu/920595/fallocate-fallocate-failed-text-file-busy-in-ubuntu-17-04?answertab=active#tab-top
quelle
Es gibt bereits viele nette Antworten auf dieses Problem, aber ich möchte eine wundervolle Site teilen, auf die ich gestoßen bin, als ich den 'TesseractNotFound-Fehler: Tesseract ist nicht installiert oder befindet sich nicht in Ihrem Pfad' nicht lösen konnte. Bitte beziehen Sie sich auf diese Site: https: / /www.thetopsites.net/article/50655738.shtml
Ich habe festgestellt, dass ich diesen Fehler erhalten habe, weil ich pytesseract mit pip installiert habe, aber vergessen habe, die Binärdatei zu installieren. Sie vermissen wahrscheinlich tesseract-ocr von Ihrer Maschine. Überprüfen Sie die Installationsanweisungen hier: https://github.com/tesseract-ocr/tesseract/wiki
Auf einem Mac können Sie einfach mit Homebrew installieren:
brew install tesseract
Danach sollte es gut laufen!
In einer Windows 10-Betriebssystemumgebung funktioniert die folgende Methode für mich:
Gehen Sie zu diesem Link und laden Sie tesseract herunter und installieren Sie es. Die Windows-Version finden Sie hier: https://github.com/UB-Mannheim/tesseract/wiki
Suchen Sie die Skriptdatei pytesseract.py unter C: \ Users \ User \ Anaconda3 \ Lib \ site-packages \ pytesseract und öffnen Sie sie. Ändern Sie den folgenden Code von tesseract_cmd = 'tesseract' in: tesseract_cmd = 'C: / Programme (x86) /Tesseract-OCR/tesseract.exe' (Dies ist der Pfad, in dem Sie Tesseract-OCR installieren. Überprüfen Sie daher, wo Sie es installieren und entsprechend den Pfad aktualisieren)
Möglicherweise müssen Sie auch die Umgebungsvariable C: / Programme (x86) / Tesseract-OCR / hinzufügen.
Hoffe es funktioniert bei dir!
quelle
Nur für Windows-Benutzer:
Installieren Sie tesseract mit:
und fügen Sie diese Zeile dann Ihrem Code hinzu. Beachten Sie dabei das "\".
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR\\tesseract.exe"
quelle