使用Python的OpenCV模块识别滑动验证码的缺口(推荐)


Posted in Python onMay 10, 2019

最近终于找到一个好的方法,使用Python的OpenCV模块识别滑动验证码的缺口,可以将滑动验证码中的缺口识别出来了。

 使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

测试使用如下两张图片:

 使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

target.jpg

 使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

template.png

现在想要通过“template.png”在“target.jpg”中找到对应的缺口,代码实现如下:

# encoding=utf8

import cv2
import numpy as np

def show(name):
 cv2.imshow('Show', name)
 cv2.waitKey(0)
 cv2.destroyAllWindows()

def main():
 otemp = 'template.png'
 oblk = 'target.jpg'
 target = cv2.imread(otemp, 0)
 template = cv2.imread(oblk, 0)
 w, h = target.shape[::-1]
 temp = 'temp.jpg'
 targ = 'targ.jpg'
 cv2.imwrite(temp, template)
 cv2.imwrite(targ, target)
 target = cv2.imread(targ)
 target = cv2.cvtColor(target, cv2.COLOR_BGR2GRAY)
 target = abs(255 - target)
 cv2.imwrite(targ, target)
 target = cv2.imread(targ)
 template = cv2.imread(temp)
 result = cv2.matchTemplate(target, template, cv2.TM_CCOEFF_NORMED)
 x, y = np.unravel_index(result.argmax(), result.shape)
 # 展示圈出来的区域
 cv2.rectangle(template, (y, x), (y + w, x + h), (7, 249, 151), 2)
 show(template)
if __name__ == '__main__':

    main()运行结果见本文最上面,通过运行结果可以知道,已经正确的找到了缺口位置。

总结

以上所述是小编给大家介绍的使用Python的OpenCV模块识别滑动验证码的缺口,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python常见文件操作的函数示例代码
Nov 15 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python入门_浅谈for循环、while循环
May 16 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
分析python动态规划的递归、非递归实现
Mar 04 Python
python自动化报告的输出用例详解
May 30 Python
numpy中矩阵合并的实例
Jun 15 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
python爬虫 requests-html的使用
Nov 30 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 Python
详解python中的线程与线程池
May 10 #Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 #Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 #Python
Django框架实现分页显示内容的方法详解
May 10 #Python
Django框架验证码用法实例分析
May 10 #Python
Python爬虫实现验证码登录代码实例
May 10 #Python
详解如何管理多个Python版本和虚拟环境
May 10 #Python
You might like
PHP脚本数据库功能详解(上)
2006/10/09 PHP
我用php+mysql写的留言本
2006/10/09 PHP
PHP教程 预定义变量
2009/10/23 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
js动态创建及移除div的方法
2015/06/03 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
React Native实现地址挑选器功能
2017/10/24 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
化妆品促销方案
2014/02/24 职场文书
优秀员工评优方案
2014/06/13 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js