標籤:
代碼如下:
#coding:utf-8from PIL import Imageimport pytesseractdef 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 ImageFileImageFile.LOAD_TRUNCATED_IMAGES = True
最終,完整的代碼如下:
#coding:utf-8from PIL import Imageimport pytesseractfrom PIL import ImageFileImageFile.LOAD_TRUNCATED_IMAGES = Truedef 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/
原文地址:http://www.cnblogs.com/hongfei/p/4436767.html
Python:IOError: image file is truncated 的解決辦法