简体   繁体   中英

Python error when importing image_to_string from tesseract

I recently used tesseract OCR with python and I kept getting an error when I was trying to import image_to_string from tesseract.

Code causing the problem:

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

Error caused by above code:

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

I've verified that the tesseract module is installed:

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

I believe that I've grabbed all the required packages but unfortunately I'm just stuck at this point. It appears that the function is not in the module.

Any help greatly appreciated.

Another possibility that seems to have worked for me is to modify pytesseract so that instead of import Image it has from PIL import Image

Code that works in PyCharm after modifying pytesseract:

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))

Pytesseract I installed via the package management built into PyCharm

Is your syntax correct for the module you have installed? That image_to_string functions looks like it is from PyTesser per the usage example on this page: https://code.google.com/p/pytesser/

Your import looks like it is for python-tesseract which has a more complicated usage example listed: https://code.google.com/p/python-tesseract/

For windows followed below steps

pip3 install pytesseract 
pip3 install pillow

Installation of tessaract-ocr is also required https://github.com/tesseract-ocr/tesseract/wiki otherwise you will get an error Tessract is not on path

Python code

from PIL import Image
from pytesseract import image_to_string

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

what works for me:

after I install the pytesseract form tesseract-ocr-setup-3.05.02-20180621.exe I add the line pytesseract.pytesseract.tesseract_cmd="C:\\\\Program Files (x86)\\\\Tesseract-OCR\\\\tesseract.exe" and use the code form the above this is all the code:

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'))

I am using windows 10 with PyCharm Community Edition 2018.2.3 x64

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM