加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

借助Python的OpenCV模块识别滑动验证码的缺口

发布时间:2021-11-12 11:18:16 所属栏目:PHP教程 来源:互联网
导读:最近终于找到一个好的方法,使用Python的OpenCV模块识别滑动验证码的缺口,可以将滑动验证码中的缺口识别出来了。 测试使用如下两张图片: 使用Python的OpenCV模块识别滑动验证码的缺口 target.jpg 使用Python的OpenCV模块识别滑动验证码的缺口 template.png
最近终于找到一个好的方法,使用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()

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读