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模块-实现OCR

Python+pytesseract+Tesseract-OCR图片文字识别(只适合新手)

tesseract-ocr,tesseract,pytesseract在windows下怎么安装

python(pillow /tesseract-ocr/pytesseract)安装介绍

tesseract-OCR + pytesseract安装