使用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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python冒泡排序简单实现方法
Jul 09 Python
Python异常处理操作实例详解
Aug 28 Python
基于python实现名片管理系统
Nov 30 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
Python 函数list&read&seek详解
Aug 28 Python
Python imread、newaxis用法详解
Nov 04 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
基于pandas向csv添加新的行和列
May 25 Python
Pycharm配置lua编译环境过程图解
Nov 28 Python
使用python如何删除同一文件夹下相似的图片
May 07 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
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
php跨站攻击实例分析
2014/10/28 PHP
php正则表达式学习笔记
2015/11/13 PHP
php 数组元素快速去重
2017/05/05 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
Python实现图片拼接的代码
2018/07/02 Python
实例介绍Python中整型
2019/02/11 Python
Django中Middleware中的函数详解
2019/07/18 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
python mock测试的示例
2020/10/19 Python
教师年度考核自我鉴定
2014/01/19 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
销售顾问工作计划书
2014/09/15 职场文书
2014年宣传工作总结
2014/11/18 职场文书
Python+Appium新手教程
2021/04/17 Python
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python