从 tesseract 导入 image_to_string 时出现 Python 错误

Posted

技术标签:

【中文标题】从 tesseract 导入 image_to_string 时出现 Python 错误【英文标题】:Python error when importing image_to_string from tesseract 【发布时间】:2013-01-16 10:10:04 【问题描述】:

我最近在 python 中使用了 tesseract OCR,当我尝试从 tesseract 导入 image_to_string 时,我一直收到错误消息。

导致问题的代码:

# Perform OCR using tesseract-ocr library
from tesseract import image_to_string
image = Image.open('input-NEAREST.tif')
print image_to_string(image)

以上代码导致的错误:

Traceback (most recent call last):  
file "./captcha.py", line 52, in <module>  
from tesseract import image_to_string  
ImportError: cannot import name image_to_string

我已验证安装了 tesseract 模块:

digital_alchemy@roaming-gnome /home $ pydoc modules | grep 'tesseract'
Hdf5StubImagePlugin _tesseract          gzip                sipconfig
ORBit               cairo               mako                tesseract

我相信我已经获得了所有必需的包,但不幸的是我只是停留在这一点上。看来该功能不在模块中。

非常感谢任何帮助。

【问题讨论】:

尝试“import tesseract.image_to_string”,甚至只是“import tesseract”。 我认为你有错误的 python 绑定...vars(tesseract) 中有什么? 【参考方案1】:

似乎对我有用的另一种可能性是修改 pytesseract 以便从 PIL 导入图像而不是导入图像

修改pytesseract后在PyCharm中工作的代码:

from pytesseract import image_to_string
from PIL import Image

im = Image.open(r'C:\Users\<user>\Downloads\dashboard-test.jpeg')
print(im)

print(image_to_string(im))

我通过 PyCharm 内置的包管理安装的 Pytesseract

【讨论】:

我收到一条错误消息 - OSError: [Errno 2] No such file or directory In File "/usr/lib/python2.7/subprocess.py", line 679, in init errread, errwrite) 文件“/usr/lib/python2.7/subprocess.py”,第 1249 行,在 _execute_child 中 @C.R.Sharat 是的,很久以前。我不记得是什么解决了它。如果有帮助,我正在使用PIL==1.1.7 pytesseract==0.1.6 Pillow==2.9.0,并且我还安装了sudo apt-get install python-opencv apt-get install tesseract-ocr #这可能会解决这个问题,@C.R.Sharat【参考方案2】:

对于已安装的模块,您的语法是否正确?根据此页面上的使用示例,image_to_string 函数看起来像是来自 PyTesser: https://code.google.com/p/pytesser/

您的导入看起来像是针对 python-tesseract 的,其中列出了更复杂的用法示例: https://code.google.com/p/python-tesseract/

【讨论】:

【参考方案3】:

对于 Windows,请按照以下步骤操作

pip3 install pytesseract 
pip3 install pillow

还需要安装 tessaract-ocr https://github.com/tesseract-ocr/tesseract/wiki 否则你会得到一个错误 Tes-s-ract is not on path

Python 代码

from PIL import Image
from pytesseract import image_to_string

print ( image_to_string(Image.open('test.tif'),lang='eng')  )

【讨论】:

【参考方案4】:

什么对我有用:

在我安装了 pytesseract 表单后tesseract-ocr-setup-3.05.02-20180621.exe 我添加行 pytesseract.pytesseract.tesseract_cmd="C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe" 并使用上面的代码,这就是所有代码:

import pytesseract
from PIL import Image

pytesseract.pytesseract.tesseract_cmd="C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe"
im=Image.open("C:\\Users\\<user>\\Desktop\\ro\\capt.png")
print(pytesseract.image_to_string(im,lang='eng'))

我正在使用 Windows 10 和 PyCharm Community Edition 2018.2.3 x64

【讨论】:

以上是关于从 tesseract 导入 image_to_string 时出现 Python 错误的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio里面配置Tesseract

android怎么调用tesseract实现OCR功能?

使用 tesseract 为 android

没有从 Tesseract OCR 中获得有效的结果作为 newocr 生产

使用 Tesseract 的 Android OCR 应用程序

python+selenium+Tesseract-OCR识别图片验证码