所以我目前正在尝试在Python 3.5中使用Tesseract(pytesseract包装器)。现在我在办公室,所以我的猜测是有一些愚蠢的权限没有设置,这就是为什么我试图运行一些非常简单的代码时出现此错误。现在我确实已经拥有了对这台机器的权限,并且可以更改文件权限......任何想法我能做些什么来让它运行?
如果有什么东西可以帮助我解决系统权限,因为我使用不同的操作系统。
import pytesseract
from PIL import Image
test = Image.open('test.png')
print (pytesseract.image_to_string(test))
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
========= RESTART: C:\Users\dmartin\CheckScanScript\TextFromImage.py =========
Traceback (most recent call last):
File "C:\Users\dmartin\CheckScanScript\TextFromImage.py", line 4, in <module>
print (pytesseract.image_to_string(test))
File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
config=config)
File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
stderr=subprocess.PIPE)
File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
答案 0 :(得分:1)
我遇到了同样的问题。我解决了这个问题首先,您必须在环境变量中添加路径C:\ Program Files(x86)\ Tesseract-OCR \。其次我注意到我的代码在不同的磁盘中,程序无法从文件夹tessdata加载语言。所以我将我的代码从磁盘D移动到磁盘C,它终于工作了。
答案 1 :(得分:1)
我遇到了同样的问题,我通过以管理员身份运行IDLE然后通过IDLE打开.py文件来解决它。
答案 2 :(得分:0)
我通过代码对文件赋予权限来解决它:
?
答案 3 :(得分:0)
以管理员身份运行Python或Python IDE,并按如下方式设置tesseract_cmd,pytesseract.pytesseract.tesseract_cmd,TESSDATA_PREFIX和tessdata_dir_config:
from PIL import Image
import pytesseract
tesseract_cmd = 'D:\\Softwares\\Tesseract-OCR\\tesseract'
pytesseract.pytesseract.tesseract_cmd = 'D:\\Softwares\\Tesseract-OCR\\tesseract'
TESSDATA_PREFIX= 'D:\Softwares\Tesseract-OCR'
tessdata_dir_config = '--tessdata-dir "D:\\Softwares\\Tesseract-OCR\\tessdata"'
print(pytesseract.image_to_string( Image.open('D:\\ImageProcessing\\f2.jpg'), lang='eng', config=tessdata_dir_config))
答案 4 :(得分:0)
我也遇到了同样的问题,为pytesseract可执行文件添加完整路径对我来说很有效。因此,如果您在“ C:\ Program Files(x86)\ Tesseract-OCR \ tesseract”中安装了pytesseract,请确保在代码中添加以下路径:-
C:\ Program Files(x86)\ Tesseract-OCR \ tesseract \ tesseract.exe
您的代码如下所示
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
希望这对您也有用。
答案 5 :(得分:0)
对我来说修复的是插入tesseract.exe的直接路径
对我来说是这样的:
import pyautogui
from PIL import Image
from pytesseract import *
pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
请注意,您必须自己找到路径!