python cv2在验证码识别中应用实例解析
这篇文章主要介绍了pythoncv2在验证码识别中应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
使用函数cv2.imread(filepath,flags)读入一副图片
filepath:要读入图片的完整路径
flags:读入图片的标志
- cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
- cv2.IMREAD_GRAYSCALE:读入灰度图片
- cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
- cv2.cvtColor(p1,p2)是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。
- cv2.COLOR_BGR2RGB将BGR格式转换成RGB格式
- cv2.COLOR_BGR2GRAY将BGR格式转换成灰度图片
模版匹配
模板匹配的原理其实很简单,就是不断地在原图中移动模板图像去比较
有6种匹配方法
- 平方差匹配CV_TM_SQDIFF:用两者的平方差来匹配,最好的匹配值为0
- 归一化平方差匹配CV_TM_SQDIFF_NORMED
- 相关匹配CV_TM_CCORR:用两者的乘积匹配,数值越大表明匹配程度越好
- 归一化相关匹配CV_TM_CCORR_NORMED
- 相关系数匹配CV_TM_CCOEFF:用两者的相关系数匹配,1表示完美的匹配,-1表示最差的匹配
- 归一化相关系数匹配CV_TM_CCOEFF_NORMED
importcv2 deffindpic(self,target='background.png',template='slider.png'): """ :paramtarget:背景图路径 :paramtemplate:滑块图片路径 :return: """ target_rgb=cv2.imread(target) target_gray=cv2.cvtColor(target_rgb,cv2.COLOR_BGR2GRAY) template_rgb=cv2.imread(template,0) res=cv2.matchTemplate(target_gray,template_rgb,cv2.TM_CCOEFF_NORMED)#模板匹配,在大图中找小图 value=cv2.minMaxLoc(res) a,b,c,d=value ifabs(a)>=abs(b): distance=c[0] else: distance=d[0] print(value) returndistance
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持面圈教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。