我知道这个问题已经在这个网站上得到了回答,但是,我上网的解决方案似乎都没有。这就是我的尝试:
这个错误现在让我感到非常困扰,因此我无法继续前进。
这是我的代码,如果有帮助的话:
import pytesseract
import sys
import argparse
try:
import Image
except ImportError:
from PIL import Image
from subprocess import check_output
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR'
c=pytesseract.image_to_string(Image.open('img.png'))
print(c)
回溯:
Traceback (most recent call last):
File "C:\Users\Hp\Desktop\bot.py", line 12, in <module>
c=pytesseract.image_to_string(Image.open('captcha.png'))
File "C:\Python\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string
config=config)
File "C:\Python\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
proc = subprocess.Popen(command, stderr=subprocess.PIPE)
File "C:\Python\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "C:\Python\lib\subprocess.py", line 992, in _execute_child
startupinfo)
PermissionError: [WinError 5] Accès refusé
答案 0 :(得分:1)
我怀疑有些事情,但不确定是否有。
首先也是最明显的,Tesseract的路径并不完整。它应该是这样的:
tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'
我相信您的路径指向目录/文件夹而不是可执行文件,但只有您可以确认。让我知道如果这是不正确的,我会看到其他一些事情似乎一开始并不正确,但需要更多调查。
答案 1 :(得分:1)
需要单独安装tesseract。我提供了您应该安装的链接
https://github.com/UB-Mannheim/tesseract/wiki
tesseract-ocr-w32-setup-v5.0.0-alpha.20201127.exe(32 位)和 tesseract-ocr-w64-setup-v5.0.0-alpha.20201127.exe(64位)对应
根据您的系统配置选择此处。我们大多数人都有 64 位。所以选择那个。
非常小心地安装文件。我建议在 c 以外的单独驱动器中执行此操作。 选择安装 tesseract.exe 文件的路径。并将其粘贴到 pytesseract.pytesseract.tesseract_cmd
看代码...
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'E:/OCR/tesseract_install/tesseract.exe'
img = cv2.imread('E:/OCR/example1.png')
# to see the image below codes are there
cv2.imshow('sampleimage',img)
#enter any key to destroy the image window opened due to previous line code
cv2.waitKey(0)
cv2.destroyAllWindows()
#convert image to text using tesseract
text = pytesseract.image_to_string(img)
print(text)
答案 2 :(得分:0)
使用此方法读取tesseract路径,并确保已安装tesseract-ocr
pytesseract.pytesseract.tesseract_cmd = r'C:\\ Program Files(x86)\\ Tesseract-OCR \\ tesseract' 始终使用双\\而不是单个“ \”
答案 3 :(得分:0)
我遇到了同样的问题,并将其修复为0xc0de所说的,更改下面的行:
pytesseract.pytesseract.tesseract_cmd=r"C:\MyApps\Tesseract-ocr\"
收件人:
pytesseract.pytesseract.tesseract_cmd="C:\\MyApps\\Tesseract-ocr\\tesseract.exe"