Python:IOError: image file is truncated 的解决办法

代码如下:

#coding:utf-8
from PIL import Image
import pytesseract
def test():
    im = Image.open(r"pic.gif")
    vcode = pytesseract.image_to_string(im)
    print vcode

执行以上代码进行简单验证码识别的时候会抛出一个异常:

复制代码
Traceback (most recent call last):
  File "D:\test\vcode.py", line 15, in <module>
    main()
  File "D:\test\vcode.py", line 9, in main
    test()
  File "D:\test\test.py", line 8, in test
    vcode = pytesseract.image_to_string(im)
  File "build\bdist.win32\egg\pytesseract\pytesseract.py", line 143, in image_to_string
  File "D:\Program Files (x86)\Python\Python27\lib\site-packages\PIL\Image.py", line 1749, in split
    self.load()
  File "D:\Program Files (x86)\Python\Python27\lib\site-packages\PIL\ImageFile.py", line 232, in load
    "(%d bytes not processed)" % len(b))
IOError: image file is truncated (5 bytes not processed)
复制代码

解决办法是,再添加如下2句代码:

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True

最终,完整的代码如下:

复制代码
#coding:utf-8
from PIL import Image
import pytesseract
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
def test():
    im = Image.open(r"pic.gif")
    vcode = pytesseract.image_to_string(im)
    print vcode
复制代码

相关文章:

关于利用python进行验证码识别的一些想法:http://www.cnblogs.com/xiaowuyi/archive/2012/09/10/2675286.html

python利用pytesser模块实现图片文字识别:http://www.jinglingshu.org/?p=9281

验证码图片字符识别两种python实现方法:http://vipscu.blog.163.com/blog/static/18180837220134234528457/

python模拟登陆登陆一:验证码与cookies的同步处理思路:http://www.dabu.info/python-login-crawler-captcha-cookies.html

原文地址:http://www.cnblogs.com/hongfei/p/4436767.html

posted @   曾是土木人  阅读(18262)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示