首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python - Pytesseract可以处理一个文件,但不能处理另一个文件

Python - Pytesseract可以处理一个文件,但不能处理另一个文件
EN

Stack Overflow用户
提问于 2018-04-16 05:27:41
回答 1查看 280关注 0票数 4

我最近安装了Pytesseract,为了确保它正常工作,我运行了以下测试/代码:

代码语言:javascript
运行
复制
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‘再次运行测试时,我得到了以下错误:

代码语言:javascript
运行
复制
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。

代码语言:javascript
运行
复制
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‘-它确实起作用了。有人知道这是怎么回事吗?

EN

Stack Overflow用户

发布于 2019-09-09 00:14:15

打开图像时的用户转换方法。

代码语言:javascript
运行
复制
    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/a/52115274/3728540]的引用。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49846953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档