使用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 相关文章推荐
pygame学习笔记(5):游戏精灵
Apr 15 Python
Python合并字符串的3种方法
May 21 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
详谈python read readline readlines的区别
Sep 22 Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 Python
Python统计单词出现的次数
Apr 04 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
Django框架创建项目的方法入门教程
Nov 04 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
关于Tensorflow分布式并行策略
Feb 03 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
Python sklearn分类决策树方法详解
Sep 23 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 操作符与控制结构
2012/03/07 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
javascript基本类型详解
2014/11/28 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
python读取Android permission文件
2013/11/01 Python
粗略分析Python中的内存泄漏
2015/04/23 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
Python递归函数特点及原理解析
2020/03/04 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
python文件编写好后如何实践
2020/07/07 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
举例说明类变量和实例变量的区别
2016/06/30 面试题
毕业自我评价
2014/02/05 职场文书
支行行长岗位职责
2015/02/15 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
导游词之山海关
2019/12/10 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang