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的Tornado框架中的日志的方法
May 02 Python
python 字典(dict)按键和值排序
Jun 28 Python
Python正则表达式分组概念与用法详解
Jun 24 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
python模块smtplib学习
May 22 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
Mar 22 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
Python实现手绘图效果实例分享
Jul 22 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
天津市收音机工业发展史
2021/03/04 无线电
PHP面向对象法则
2012/02/23 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
JS如何生成动态列表
2020/09/22 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
python3实现读取chrome浏览器cookie
2016/06/19 Python
python微信公众号开发简单流程
2018/03/23 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
学python最电脑配置有要求么
2020/07/05 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
上诉答辩状范文
2015/05/22 职场文书
文艺演出主持词
2015/07/01 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python