使用pytesseract时出现错误。我是通过pip install安装的。
代码:
import pytesseract
from PIL import Image
img = Image.open('frame_0000.png')
x = pytesseract.image_to_string(Image.open('frame_0000.png'))
该错误发生在最后一行。 (x = ...)
结果:
回溯(最近通话最近):文件 “ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”, 第194行,在run_and_get_output中 run_tesseract(** kwargs)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”, 第165行,在run_tesseract中 proc = subprocess.Popen(command,** subprocess_args())文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ subprocess.py”, 第707行,在 init restore_signals,start_new_session)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ subprocess.py”, _execute_child中的第990行 (startupinfo)FileNotFoundError:[WinError 2]数据系统发生故障了
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近):文件 “ C:\ Users \ Artur \ Desktop \ Pytesseract_test.py”,第6行,在 x = pytesseract.image_to_string(Image.open('frame_0000.png'))文件 “ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”, 第286行,在image_to_string中 返回run_and_get_output(图像,'txt',lang,config,nice)文件“ C:\ Users \ Artur \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pytesseract \ pytesseract.py”, 第201行,在run_and_get_output中 引发TesseractNotFoundError()pytesseract.pytesseract.TesseractNotFoundError:tesseract不是 已安装或不在您的路径中
我正在尝试运行解决方法,但是由于缺乏经验,我无法正确实施此方法:
tessdata_dir_config = '--tessdata-dir "<replace_with_your_tessdata_dir_path>"'
# Example config: '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
# It's important to include double quotes around the dir path.
pytesseract.image_to_string(image, lang='chi_sim', config=tessdata_dir_config)
有人可以帮我解决这个问题吗?我没有在线提供的解决方案来工作。
答案 0 :(得分:3)
发生错误是因为使用python3编译了代码,但使用 pip 安装了模块。
因此,pytesseract模块已安装到Python2而不是Python3。
使用pip3安装可以解决此问题。
答案 1 :(得分:2)
〜对于仍然遇到这种情况并且是初学者程序员的任何人(我认为自己是这样的人)
对于Mac OS
尝试查找tesseract.exe所在的位置-如果您使用的是它安装的 酿造,在终端上使用:
>brew list tesseract
这应该列出您的tesseract.exe所在的位置,或多或少像
> /usr/local/Cellar/tesseract/3.05.02/bin/tesseract
Then following their instructions:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
pytesseract.pytesseract.tesseract_cmd = r'/ usr / local / Cellar / tesseract / 3.05.02 / bin / tesseract'
应该可以解决问题!
答案 2 :(得分:2)
我必须进入pytesseract.py文件并更改了我的内容:
tesseract_cmd = 'tesseract'
收件人:
tesseract_cmd = '/usr/local/Cellar/tesseract/3.05.02/bin/tesseract'
免责声明:正在做
pytesseract.tesseract_cmd = '/usr/local/Cellar/tesseract/3.05.02/bin/tesseract'
没有解决问题