设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 8831|回复: 2
打印 上一主题 下一主题

做验证码识别出错,求大神搭把手

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2017-5-10 17:12:53 |显示全部楼层
附上测试用的图片吧。

代码看起来没问题,我这里py2和3测过都正常。
所以不排除是图片的问题
另外不知道你是怎么安装这两个库的,是不是中间某个版本装错了。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-5-10 17:16:19 |显示全部楼层
看了你附加的链接,里面说了,这是 pytesseract 自己的bug。

如果你要自己改的话,要去python目录里面找到 lib\site-packages\pytesseract\pytesseract.py
在 109 行的  get_errors() 加上一行:
  1. error_string = error_string.decode("utf-8")
复制代码
完整的

  1. def get_errors(error_string):
  2.     '''
  3.     returns all lines in the error_string that start with the string "error"
  4.     '''

  5.     error_string = error_string.decode("utf-8")
  6.     lines = error_string.splitlines()
  7.     error_lines = tuple(line for line in lines if line.find('Error') >= 0)
  8.     if len(error_lines) > 0:
  9.         return '\n'.join(error_lines)
  10.     else:
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2017-5-11 19:02:52 |显示全部楼层
lan 发表于 2017-5-10 22:20
这是我真正要测试的  分步都ok  结合在一起就报错了
raceback (most recent call last):
  File "F:/python ...

没看懂你后面这个报错,这是 pytesseract.py 里的,image 的类型乱了。如果不是你刚修正的时候改错了什么,那就是它代码本身问题。

  File "E:\anzhuang\python\lib\site-packages\pytesseract\pytesseract.py", line 156, in image_to_string
    image.save(input_file_name)
AttributeError: 'str' object has no attribute 'save'

这里 image 不应该是 str
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-19 08:50 , Processed in 0.025975 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部