pytesseract OCR python错误-示例代码
Posted
技术标签:
【中文标题】pytesseract OCR python错误-示例代码【英文标题】:pytesseract OCR python error - example code 【发布时间】:2016-05-27 00:23:06 【问题描述】:您好,我尝试学习如何使用 pytesseract(https://pypi.python.org/pypi/pytesseract),所以我运行示例代码:
try:
import Image
except ImportError:
from PIL import Image
import pytesseract
im=Image.open('test.png')
print(pytesseract.image_to_string(im))
但我有错误:
Traceback (most recent call last):
File "C:/Users/K/PycharmProjects/untitled/zad1.py", line 7, in <module>
print(pytesseract.image_to_string(im))
File "C:\Users\K\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract-0.1.6-py3.5.egg\pytesseract\pytesseract.py", line 161, in image_to_string
File "C:\Users\K\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract-0.1.6-py3.5.egg\pytesseract\pytesseract.py", line 94, in run_tesseract
File "C:\Users\K\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\K\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
我的python版本是3.5,pytesseract版本是0.1.6。 我在 Windows 7 上工作。
【问题讨论】:
你的 cwd 中是否存在 test.png? 是的,我在 python 文件所在的同一文件夹中有文件 test.png (C:/Users/K/PycharmProjects/untitled/) 只是为了排除它,将完整路径传递给文件 您必须能够以“tesseract”的身份调用 tesseract 命令。如果不是这种情况,例如因为 tesseract 不在您的 PATH 中,您将不得不更改“tesseract.py”顶部的“tesseract_cmd”变量。 我无法在 cmd 中运行 tesseract('tesseract' 不被识别为内部或外部命令、可运行程序或批处理文件。)但我将 pytesseract 的路径添加到系统变量。您能解释一下如何更改 tesseract_cmd 吗? 【参考方案1】:我的 Ubuntu 也遇到了这个问题。感谢@Newbie,我在安装tesseract后解决了。
sudo apt-get install tesseract-ocr
sudo apt-get install tesseract-ocr-chi-sim
好像
sudo pip install pytesseract
只安装python接口而不是tesseract本身
以下是我的错误信息:
OSError Traceback (most recent call last)
<ipython-input-4-aaddc46c52ee> in <module>()
----> 1 pytesseract.image_to_string(Image.open('./static/files/captcha'))
/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.pyc in image_to_string(image, lang, boxes, config)
159 lang=lang,
160 boxes=boxes,
--> 161 config=config)
162 if status:
163 errors = get_errors(error_string)
/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.pyc in run_tesseract(input_filename, output_filename_base, lang, boxes, config)
92
93 proc = subprocess.Popen(command,
---> 94 stderr=subprocess.PIPE)
95 return (proc.wait(), proc.stderr.read())
96
/usr/lib/python2.7/subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags)
708 p2cread, p2cwrite,
709 c2pread, c2pwrite,
--> 710 errread, errwrite)
711 except Exception:
712 # Preserve original exception in case os.close raises.
/usr/lib/python2.7/subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite)
1333 raise
1334 child_exception = pickle.loads(data)
-> 1335 raise child_exception
1336
1337
OSError: [Errno 2] No such file or directory
【讨论】:
【参考方案2】:我解决了我的问题。解决方案非常简单: 安装 tesseract-ocr。
【讨论】:
它是否也从 JPEG 文件中提取图像/图表? 嗨,@Newbie 我遇到了和你一样的问题,你能详细说明你是如何解决这个问题的吗?以上是关于pytesseract OCR python错误-示例代码的主要内容,如果未能解决你的问题,请参考以下文章
Python验证码识别 安装Pillowtesseract-ocr与pytesseract模块的安装以及错误解决
Python+pytesseract+Tesseract-OCR图片文字识别(只适合新手)
tesseract-ocr,tesseract,pytesseract在windows下怎么安装