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实现图片批量剪切示例
Mar 25 Python
Python进程间通信之共享内存详解
Oct 30 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
Python中的self用法详解
Aug 06 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
python异步Web框架sanic的实现
Apr 27 Python
Python优秀开源项目Rich源码解析的流程分析
Jul 06 Python
python中turtle库的简单使用教程
Nov 11 Python
python调用win32接口进行截图的示例
Nov 11 Python
用Python实现一个打字速度测试工具来测试你的手速
May 28 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原理的opcodes(操作码)
2010/10/26 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
Python操作MySQL简单实现方法
2015/01/26 Python
Python的另外几种语言实现
2015/01/29 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
python实现RSA加密(解密)算法
2016/02/17 Python
python正则实现计算器功能
2017/12/14 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
基于Python实现简单学生管理系统
2020/07/24 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
以下的初始化有什么区别
2013/12/16 面试题
结婚保证书范文
2014/04/29 职场文书
初中英语演讲稿
2014/04/29 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
Mysql如何查看是否使用到索引
2022/12/24 MySQL