使用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基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python向日志输出中添加上下文信息
May 24 Python
python 调用c语言函数的方法
Sep 29 Python
Python查找文件中包含中文的行方法
Dec 19 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Django框架models使用group by详解
Mar 11 Python
Python字典实现伪切片功能
Oct 28 Python
Django Model层F,Q对象和聚合函数原理解析
Nov 12 Python
python中最小二乘法详细讲解
Feb 19 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 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
Zend引擎的发展 [15]
2006/10/09 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
关于尾递归的使用详解
2013/05/02 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP实现搜索相似图片
2015/09/22 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
window.open的功能全解析
2006/10/10 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python中类的属性和方法介绍
2018/11/27 Python
python实现按行分割文件
2019/07/22 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
自荐信的五个重要部分
2013/10/29 职场文书
打造完美自荐信
2014/01/24 职场文书
2014升学宴答谢词
2014/01/26 职场文书
党支部四风整改方案
2014/10/25 职场文书
毕业设计论文评语
2014/12/31 职场文书
管辖权异议上诉状
2015/05/23 职场文书
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL