介绍
这篇文章主要介绍python如何实现验证码识别功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
1。通过二值化处理去掉干扰线
2。对黑白图片进行降噪,去掉那些单独的黑色像素点
3。消除边框上附着的黑色像素点
4。识别图像中的文字,去掉空格与& # 39;强生# 39;
python代码:
得到PIL import Image 得到aip import  AipOcr , 文件=& # 39;1-1-7& # 39;, , #,二值化处理,转化为黑白图片, def two_value (): 范围,for 小姐:拷贝(1,,5):, ,#打开文件夹中的图片,=,,image  Image.open(文件+ & # 39;jpg # 39;), ,#灰度图,=,,lim  image.convert (& # 39; l # 39;), ,#灰度阈值设为165,低于这个值的点全部填白色, 165年,threshold =,,=,table [], , ,for j 范围(256):拷贝, if 才能j & lt;,阈值:, table.append才能(0), ,,: table.append才能(1), ,=,,bim  lim.point(表,,& # 39;1 & # 39;), ,bim.save(文件+ & # 39;.1.jpg& # 39;), , two_value (), , #,去除干扰线, 我=,Image.open(文件+ & # 39;.1.jpg& # 39;), #,图像二值化, 时间=data im.getdata (), 时间=w, h im.size black_point =, 0, , for x 拷贝范围(1,w 作用;1):, ,for y 拷贝范围(1,h 作用;1):,=,mid_pixel 数据(w *, y +, x), #,中央像素点像素值, ,if mid_pixel & lt; 50:, #,找出上下左右四个方向像素点像素值, 时间=top_pixel 才能;数据(w *, (y 安康;1),+,x), left_pixel 才能,=,数据(w *, y +, (x 安康;1)), 时间=down_pixel 才能;数据(w *,(时间+ y 1), +, x), right_pixel 才能,=,数据(w *, y +,(时间+ x 1)), , #才能,判断上下左右的黑色像素点总个数, if 才能top_pixel & lt;, 5:, #小于5比小于10更精确, black_point 才能+=,1, if 才能left_pixel & lt;, 5:, black_point 才能+=,1, if 才能down_pixel & lt;, 5:, black_point 才能+=,1, if 才能right_pixel & lt;, 5:, black_point 才能+=,1, if 才能black_point & lt;, 1:, im.putpixel才能((x, y), 255), #,才能打印(black_point), black_point 才能=,0, , im.save(文件+ & # 39;.2.jpg& # 39;), , #,去除干扰线, 我=,Image.open(文件+ & # 39;.2.jpg& # 39;), #,图像二值化, 时间=data im.getdata (), 时间=w, h im.size black_point =, 0, , for x 拷贝范围(1,w 作用;1):, ,for y 拷贝范围(1,h 作用;1):, ,if x & lt; 2,趁机y & lt;, 2:, im.putpixel才能(x 安康;1,y 作用;1),,255), ,if x 祝辞,w 作用;3,趁机y 祝辞,h 作用;3:, im.putpixel才能(时间+ x 1, y +, 1),, 255), , im.save(文件+ & # 39;.3.jpg& # 39;), , #,定义常量, 时间=APP_ID & # 39; 11352343 & # 39;, 时间=API_KEY & # 39; Nd5Z1NkGoLDvHwBnD2bFLpCE& # 39;, 时间=SECRET_KEY & # 39; A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os& # 39;, , #,初始化AipFace对象, 时间=aipOcr AipOcr (APP_ID, API_KEY, SECRET_KEY), , #,读取图片, filePath=文件+ & # 39;.3.jpg& # 39;, def get_file_content (filePath):, ,with 开放(filePath, & # 39; rb # 39;), as 外交政策:, ,return fp.read (), , #,定义参数变量,=,{options ,& # 39;detect_direction& # 39;:, & # 39;真正的# 39;,, ,& # 39;language_type& # 39;:, & # 39; CHN_ENG& # 39;,, }, , #,调用通用文字识别接口, 时间=result aipOcr.basicGeneral (get_file_content (filePath),选项), 打印(结果), words_result=结果[& # 39;words_result& # 39;], for 小姐:范围(len (words_result)):拷贝, ,打印(words_result[我][& # 39;词# 39;].replace (& # 39;, & # 39;, & # 39; & # 39;) .replace(& # 39;强生# 39;& # 39;& # 39;)),#去掉可能被识别的空格与。
以上是“python如何实现验证码识别功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!