我收到错误pytesseract.pytesseract.TesseractNotFoundError:未安装tesseract或它不在您的路径中。在此之前几分钟,我就测试了我的程序,它运行良好。然后我再次对其进行了测试,并不断显示此错误。我不知道该怎么办。这是我的代码:
from PIL import ImageGrab
import cv2
import pytesseract
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
ask = input("Do you want to ocr in realtime or choose a picture (r/p)?")
if ask == 'r':
while True:
screen = np.array(ImageGrab.grab(bbox=(700, 300, 1600, 1000)))
# print('Frame took {} seconds'.format(time.time()-last_time))
cv2.imshow('window', screen)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
print(pytesseract.image_to_string(screen, lang='eng', config='--psm 6'))
if ask == 'p':
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(pytesseract.image_to_string(filename, lang='eng', config='--psm 6'))
答案 0 :(得分:1)
此问题可能有多个问题。
检查是否安装了tesseract.exe。如果没有,请从下面的链接获取exe文件并进行安装。记住安装路径,以备将来参考。
https://github.com/UB-Mannheim/tesseract/wiki
如果您已经安装了tesseract。但是pytesseract无法使用python访问tesseract。您可以像这样在脚本中设置路径。
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
答案 1 :(得分:0)
您需要告诉pytesseract tesseract二进制文件在哪里:
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
这样做应该可以解决您的问题
答案 2 :(得分:0)
过去我一直遇到相同的问题,我认为您必须确保自己:
pip install pytesseract
在值为
的环境变量中添加一个名为“ tesseract”的新变量C:\ Program Files(x86)\ Tesseract-OCR \ tesseract.exe
如果在命令行中运行tesseract,则应该通过提供使用信息来起作用
就这样:)
答案 3 :(得分:0)
最重要的是安装过程和训练有素的数据文件。例如,阿拉伯语需要ara.traindata文件。我建议使用正确的语言模型和最新版本:
tesseract-ocr-w64-setup-v5.0.0-alpha.20200328.exe(64位)。
要验证在电源外壳或cmd终端中的安装,请执行以下操作:
tesseract -v
它将输出如下内容:tesseract v5.0.0-alpha.20200328
brew install tesseract
要验证在电源外壳或cmd终端中的安装,请执行以下操作:
tesseract -v
它将输出如下内容:tesseract 4.1.1以及已安装的图像库 Leptonica-1.80.0 libgif 5.2.1:libjpeg 9d:libpng 1.6.37:libtiff 4.1.0:zlib 1.2.11:libwebp 1.1.0:libopenjp2 2.3.1 找到了AVX2 找到AVX 发现FMA 找到上交所
如果不确定路径,只需将ara.traindata文件复制粘贴到与Python .py文件相同的文件夹中
import pytesseract
from PIL import Image
import os
os.environ["TESSDATA_PREFIX"] = "" # Leaving it empty because file is already copy pasted in the current directory
print(os.getenv("TESSDATA_PREFIX"))
# Copy paste the ara.traineddata file in the same directory as this python code
print(pytesseract.image_to_string(Image.open('cropped.png'), lang="ara"))
sudo apt-get install tesseract-ocr
验证和运行代码与Mac Os相同
还要确保路径正确。
如果成功下载ara.traineddata文件,此代码将正常工作:
import pytesseract
from PIL import Image
print(pytesseract.image_to_string(Image.open('cropped.png'), lang="ara"))
有关详细信息,您可以遵循此tutorial。这是使用所有可用语言的本教程的演示输出。