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实现的登录和操作开心网脚本分享
Jul 09 Python
Python中逗号的三种作用实例分析
Jun 08 Python
python自带的http模块详解
Nov 06 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
Python设计模式之外观模式实例详解
Jan 17 Python
三步实现Django Paginator分页的方法
Jun 11 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 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新手谈谈我的学习心得
2007/02/25 PHP
php数组随机排序实现方法
2015/06/13 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
js tab效果的实现代码
2009/12/26 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
python中pygame模块用法实例
2014/10/09 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
银行会计财务工作个人的自我评价
2013/10/29 职场文书
人事部主管岗位职责
2013/12/26 职场文书
商场端午节活动方案
2014/01/29 职场文书
高中生的自我评价
2014/03/04 职场文书
《学会合作》教学反思
2014/04/12 职场文书
国家助学金感谢信
2015/01/21 职场文书
检讨书范文300字
2015/01/28 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
Redis主从复制操作和配置详情
2022/09/23 Redis