虽然说到现在各种网站上的验证码形式层出不穷,但还是有很多网站是通过图文验证码来进行校验的。而图文验证码就是要识别处图片之中的文字然后将其和真正值进行比对,如果相同就可通过校验。所以下面这篇文章小编会给大家分享一个简单识别验证码的方法,往下看看吧。
一、ddddorc库
ddddorc库是一个非常简单的图像文字识别模块,它能够轻松将各种验证码图片之中的的字符识别并且读取出来。通过pip工具命令将其下载安装好即可,不过需要注意python版本是要在3.0及其以上才可以用这个模块的,示例如下:
pip install ddddocr
二、使用模块
因为这个模块只是github上一个简单的开源项目,所以并没有对太多的版本进行适配,如果在使用时出现报错等情况的话,那么就要降低一下python版本来使用它了。
使用ddddocr模块来完成图文验证码识别是比较简单的,导入模块之中调用同名但首字母大写的方法来实例化验证码识别对象。然后用open()函数将验证码图片打开并返回文件对象,之后就是用read()方法将这个图像以二进制字节格式读取出来。
读取出来之后使用验证码识别对象去调用classification()方法,并且将图片数组作为参数传递进去即可,这样就可以把文字识别出来了,详细代码示例如下所示:
import ddddocr ocr = ddddocr.DdddOcr() with open('img_3.png', 'rb') as f: img_bytes = f.read() result = ocr.classification(img_bytes) print(result)
最后还有一点使用需要注意的时,不能够用这个模块去识别其他图像上的文字,因为大部分图文验证码都是纯底色或者是带有细小条纹的,这样可以简单将背景去除掉忽略。