使用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获取远程文件大小的函数代码分享
May 13 Python
python两种遍历字典(dict)的方法比较
May 29 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
Django工程的分层结构详解
Jul 18 Python
在django中实现页面倒数几秒后自动跳转的例子
Aug 16 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
python设置中文界面实例方法
Oct 27 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 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
jquery 无限级联菜单案例分享
2013/03/26 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
零基础写python爬虫之神器正则表达式
2014/11/06 Python
Python中subprocess的简单使用示例
2015/07/28 Python
python中的字典使用分享
2016/07/31 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python实现超市扫码仪计费
2018/05/30 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
用python写爬虫简单吗
2020/07/28 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
优秀驾驶员先进事迹材料
2014/05/04 职场文书
森林防火标语
2014/06/23 职场文书
放弃继承权公证书
2015/01/23 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL