Pytesseract: "TesseractNotFound-Fehler: Tesseract ist nicht installiert oder befindet sich nicht in Ihrem Pfad". Wie behebe ich das?

73

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.

Jed Bartlet
quelle
Was funktioniert nicht? Können Sie die Fehler hinzufügen, die Sie in der Frage erhalten haben?
Mooncrater

Antworten:

120

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'

Nafeez Quraishi
quelle
6
Das hat bei mir funktioniert! Wenn jemand anderes Probleme hat, den Ordner "Tesseract-OCR" zu finden, suchen Sie bitte auch im Ordner "C: \ Programme \"
Shahriar Rahman Zahin
6
Sie sind der Held des Internets
Artur Müller Romanov
2
Musste meinen Computer neu starten, um die Umgebung
einzustellen
2
Diese Antwort ist besser als die Dokumentation , da der Pfad zu tesseract_cmd tatsächlich auf tesseract.exe verweisen muss. Dies fehlt in der Dokumentation.
Benji
1
pytesseract.pytesseract.tesseract_cmd = r'C: \ Benutzer \ USER \ AppData \ Local \ Tesseract-OCR \ tesseract.exe 'Diese Antwort hat mich vor einer wichtigen Frist für ein Computer Vision - OCR-Projekt bewahrt. Vielen Dank @Nafeez Quraishi: - )
Vetrivel PS
59

Zuerst sollten Sie binär installieren:

Unter Linux

sudo apt-get update
sudo apt-get install libleptonica-dev 
sudo apt-get install tesseract-ocr tesseract-ocr-dev
sudo apt-get install libtesseract-dev

Auf dem Mac

brew install tesseract

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:

pip install tesseract
pip install tesseract-ocr

Referenzen: https://pypi.org/project/pytesseract/ (Abschnitt INSTALLATION) und https://github.com/tesseract-ocr/tesseract/wiki#installation

Ali
quelle
16

Nur für Windows

1 - Auf Ihrem Computer muss Tesseract OCR installiert sein.

Hol es dir von hier. https://github.com/UB-Mannheim/tesseract/wiki

Laden Sie die passende Version herunter.

2 - Fügen Sie Ihrer Systemumgebung den Tesseract-Pfad hinzu. dh Systemvariablen bearbeiten.

3 - Ausführen pip install pytesseractundpip 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.

Mujeeb Ishaque
quelle
1
Wo finde ich den Pfad für Linux?
Pallavi
@Pallavi Dies ist eine Windows-Antwort, also bitte kein Linux hier. Schritt 2 scheint wegen 4 nicht erforderlich zu sein.
Timo
8

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'
GeorgPoe
quelle
7

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

Kumar S.
quelle
8
Beachten Sie, dass dies unter Windows nicht funktioniert. Dort müssen Sie die Binärdatei (von github.com/tesseract-ocr/tesseract/wiki ) installieren und die Zeile hinzufügen, pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"damit Tesseract funktioniert.
shahar_m
5

Auf einem Mac können Sie es wie unten gezeigt installieren. Das funktioniert bei mir.

brew install tesseract
Fuwiak
quelle
4

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:

sudo apt-get install tesseract-ocr

Für Mac:

brew install tesseract
Hrishikesh
quelle
3

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

Kumar S.
quelle
3

Fügen Sie unter Windows 64-Bit der Umgebungsvariablen PATH einfach Folgendes hinzu: "C:\Program Files\Tesseract-OCR"und es wird funktionieren.

Asaga
quelle
3

Ich kann es lösen, indem ich die Variable tesseract_cmd mit dem Pfad bin / tesseract in der Datei pytesseract.py aktualisiere

Joubert Junior
quelle
2

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\pytesseractoder 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 \tund Sie erhalten die folgende Fehlermeldung:

pytesseract.pytesseract.TesseractNotFoundError: C: \ Programme \ Tesseract-OCR esseract.exe ist nicht installiert oder befindet sich nicht in Ihrem Pfad

mytkavish
quelle
1

Sie müssten tesseract installieren.

https://github.com/tesseract-ocr/tesseract/wiki

Lesen Sie die obige Dokumentation zur Installation.

Kenstars
quelle
Hallo, das habe ich bereits versucht. Ich habe es mit dem Installationsprogramm für Windows von Github installiert, aber es funktioniert immer noch nicht ganz. Nicht sicher warum oder was, ich denke es hat mit dem Weg zu tun? Ich werde das Wiki noch einmal überprüfen
Jed Bartlet
1

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 -------")
user3642503
quelle
1

In Windows muss der Befehlspfad für eine Standardinstallation von Windows Tesseract umgeleitet werden.

  1. Fügen Sie im 32-Bit-System nach dem Importieren Befehle in diese Zeile ein.
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe' 
  1. Fügen Sie im 64-Bit-System stattdessen diese Zeile hinzu.
 pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'
Desmond Tung
quelle
1

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 -spafü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.

Pablo
quelle
0

Verwenden Sie den folgenden Befehl, um tesseract zu installieren

pip install tesseract

Codemaker
quelle
0
# {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
# ==================================
Sherifi
quelle
2
Können Sie dem von Ihnen geposteten Snippet eine Textbeschreibung hinzufügen?
Dmytro Chasovskyi
Ich habe Text in das Snippet
Sherifi
0

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:

  1. 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

  2. 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)

  3. Möglicherweise müssen Sie auch die Umgebungsvariable C: / Programme (x86) / Tesseract-OCR / hinzufügen.

Hoffe es funktioniert bei dir!

Saily_Shah
quelle
0

Nur für Windows-Benutzer:

Installieren Sie tesseract mit:

pip install tesseract

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" 
Sidharth Rai
quelle