使用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使用循环实现批量创建文件夹示例
Mar 25 Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
Python命令行解析模块详解
Feb 01 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
Python代码缩进和测试模块示例详解
May 07 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
python从PDF中提取数据的示例
Oct 30 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
杏林同学录(三)
2006/10/09 PHP
PHP求最大子序列和的算法实现
2011/06/24 PHP
基于header的一些常用指令详解
2013/06/06 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
基于FME使用Python过程图解
2020/05/13 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python安装后的目录在哪里
2020/06/21 Python
Python 爬虫的原理
2020/07/30 Python
python批量修改交换机密码的示例
2020/09/22 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
python模块内置属性概念及实例
2021/02/18 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
舞蹈教育学专业求职信
2014/06/29 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
钱学森电影观后感
2015/06/04 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL