我最近安装了Pytesseract,为了确保它正常工作,我运行了以下测试/代码:
from PIL import Image
from pytesseract import image_to_string
print(image_to_string(Image.open('test.tiff')))我看到Tesseract从CMD加载,并在完成它的事情后关闭。然后,Python shell打印出'test.tiff‘的内容。太棒了,works...or,所以我想。我遇到的问题是,当我尝试为另一个tiff文件'test2.tiff‘再次运行测试时,我得到了以下错误:
Traceback (most recent call last):
File "C:\Users\Freeware Sys\Desktop\OTF.py", line 22, in <module>
print(image_to_string(Image.open('test2.tiff')))
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pytesseract\pytesseract.py", line 193, in image_to_string
return run_and_get_output(image, 'txt', lang, config, nice)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pytesseract\pytesseract.py", line 130, in run_and_get_output
temp_name, img_extension = save_image(image)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pytesseract\pytesseract.py", line 86, in save_image
image.save(input_file_name, format=img_extension, **image.info)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\PIL\Image.py", line 1935, in save
save_handler(self, fp, filename)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\PIL\TiffImagePlugin.py", line 1535, in _save
raise IOError("encoder error %d when writing image file" % s)
OSError: encoder error -2 when writing image file这太奇怪了。所以我尝试添加额外的pytesseract快速入门代码,因为pytessseract可能没有调用tesseract。
from PIL import Image
from pytesseract import image_to_string
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
print(image_to_string(Image.open('test2.tiff')))还是不管用。有趣的是,如果我直接从CMD运行tesseract并通过它推送'test2.tiff‘-它确实起作用了。有人知道这是怎么回事吗?
发布于 2019-09-09 00:14:15
打开图像时的用户转换方法。
from PIL import Image
from pytesseract import image_to_string
image = Image.open('Book.tif').convert("RGBA")
text = image_to_string(image,lang='eng')
print(text)https://stackoverflow.com/questions/49846953
复制相似问题