使用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 相关文章推荐
详解python3实现的web端json通信协议
Dec 29 Python
Python中字典的setdefault()方法教程
Feb 07 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
python如何实现异步调用函数执行
Jul 08 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
Python原始套接字编程实例解析
Jan 29 Python
python3.6连接mysql数据库及增删改查操作详解
Feb 10 Python
Python基础之tkinter图形化界面学习
Apr 29 Python
Python编写nmap扫描工具
Jul 21 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
根德YB400的电路分析
2021/03/02 无线电
一个简单的MySQL数据浏览器
2006/10/09 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php批量上传的实现代码
2013/06/09 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
jQuery的学习步骤
2011/02/23 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
pandas实现选取特定索引的行
2018/04/20 Python
python 创建一维的0向量实例
2019/12/02 Python
Python多线程获取返回值代码实例
2020/02/17 Python
学python需要去培训机构吗
2020/07/01 Python
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
行政文员岗位职责
2013/11/08 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
财务会计人员求职的自我评价
2014/01/13 职场文书
小学信息技术教学反思
2014/02/10 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
推普周活动总结
2014/08/28 职场文书
法人代表证明书格式
2014/10/01 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
同意落户证明
2015/06/19 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
SQL Server 中的事务介绍
2022/05/20 SQL Server