python cv2在验证码识别中应用实例解析


Posted in Python onDecember 25, 2019

这篇文章主要介绍了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
python web框架 django wsgi原理解析
Aug 20 Python
简单了解Python读取大文件代码实例
Dec 18 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
Python使用Socket实现简单聊天程序
Feb 28 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
python 自动识别并连接串口的实现
Jan 19 Python
python中的逆序遍历实例
Dec 25 #Python
Win系统PyQt5安装和使用教程
Dec 25 #Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 #Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 #Python
Win下PyInstaller 安装和使用教程
Dec 25 #Python
如何在mac环境中用python处理protobuf
Dec 25 #Python
Python Print实现在输出中插入变量的例子
Dec 25 #Python
You might like
PHP+DBM的同学录程序(3)
2006/10/09 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
广告切换效果(缓动切换)
2009/05/27 Javascript
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
详解python中@的用法
2019/03/27 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python实现AI换脸功能
2020/04/10 Python
python 常见的排序算法实现汇总
2020/08/21 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
什么是TCP/IP
2014/07/27 面试题
毕业生自我鉴定
2013/11/05 职场文书
民用住房租房协议书
2014/10/29 职场文书
大学生实习介绍信
2015/05/05 职场文书