python cv2在验证码识别中应用实例解析
作者:公众号python学习开发 发布时间:2022-03-29 09:35:58
标签:python,cv2,验证,码
这篇文章主要介绍了python cv2在验证码识别中应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
使用函数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
import cv2
def findpic(self, target='background.png', template='slider.png'):
"""
:param target: 背景图路径
:param template: 滑块图片路径
: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
if abs(a) >= abs(b):
distance = c[0]
else:
distance = d[0]
print(value)
return distance
来源:https://www.cnblogs.com/c-x-a/p/12082332.html
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 由于微博的网页端有反爬虫,需要登录,所以我们换个思路,曲线救国。我们找到微博在浏览器上面用于手机端的调试的APL,如何找到呢?我这边直接附上
- 这篇文章主要介绍了python imread、newaxis用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 本文实例讲述了javascript限制用户只能输汉字中文的方法。分享给大家供大家参考。具体实现方法如下:要验证函数时我们必须明白,如果是汉字
- 区别CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和
- upload.htm <html><head><title>网站维护 -
- “正则表达式”对象,我们就可以非常方便的对各种数据进行合法性的校验了。首先,让我们来了解一下究竟什么
- 这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认
- 背景:ALTER作为DDL语言之一,工作中经常遇到,这里我们简单介绍一下常见的几种使用场景新建两个测试表offices 和 employes
- 这里要注意的是js的时间戳是13位,php的时间戳是10位,转换函数如下: var nowtime = (new Date).getTime
- Div+CSS+JS组和能够实现很多好看的特殊的效果,这里推荐一款可刷新的下拉菜单:下面是js代码部分:<script type=te
- Python中,如果函数体是一个单独的return expression语句,开发者可以选择使用特殊的lambda表达式形式替换该函数:la
- <%sql = "select * from SMT_addt
- 基本介绍Pinia 是 Vue.js 的轻量级状态管理库官方网站:pinia.vuejs.org/pinia和vuex4一样,也是vue官方
- 本主题说明如何创建支持 FILESTREAM 的数据库。由于 FILESTREAM 使用一种特殊类型的文件组,因此,在创建数据库时,必须至少
- 目录1. 单变量 :=2. 多变量 :=3. 小结:=??Go 语言中 = 和 := 有什么区别1. 单变量 :=Go 语言中新增了一个特殊
- 结合vue+element-ui+vue-quill+editor二次封装成组件1.图片上传分析原因项目中使用vue-quill-edito
- 一、DAFONT 英文字体很多,分类很详细,字体多数都是免费,唯一的缺点中文字体少了些.http://www.dafont.co
- Function ChkInvaildWord(Words) Const InvaildWords=&quo
- 详解MySQL导出指定表中的数据要求:1. 不导出创表的语句,因为表已经建好:默认会导出,先drop table然后create table
- 内容摘要:网页设计师制作网页最常用的设计软件应该就算adobe的产品Photoshop了,当然Photoshop不仅可以设计网页,不过作为网