我正在使用 python 3.x 并使用以下代码将图像转换为文本:
from PIL import Image
from pytesseract import image_to_string
image = Image.open('image.png', mode='r')
print(image_to_string(image))
我收到以下错误:
Traceback (most recent call last):
File "C:/Users/hp/Desktop/GII/Image_to_text.py", line 12, in <module>
print(image_to_string(image))
File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
config=config)
File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
stderr=subprocess.PIPE)
File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
请注意,我已将图像放在我的 python 所在的同一目录中。此外,它不会在 image = Image.open('image.png', mode='r')
上引发错误,但会在 print(image_to_string(image))
线上引发错误。
知道这里可能有什么问题吗?谢谢
原文由 muazfaiz 发布,翻译遵循 CC BY-SA 4.0 许可协议
您必须在您的路径中安装并访问
tesseract
。根据来源,
pytesseract
只是subprocess.Popen
的包装器,将 tesseract 二进制文件作为要运行的二进制文件。它本身不执行任何类型的 OCR。来源的相关部分:
引用源的另一部分:
改变 tesseract 路径的快速方法是: