使用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 20 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
在win和Linux系统中python命令行运行的不同
Jul 03 Python
Python Learning 列表的更多操作及示例代码
Aug 22 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
python hash每次调用结果不同的原因
Nov 21 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
python lambda的使用详解
Feb 26 Python
python解析json数据
Apr 29 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生成随机颜色的方法
2014/11/13 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
python执行get提交的方法
2015/04/29 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
年度献血先进个人事迹材料
2014/02/14 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python