基于opencv识别动态验证码

这篇具有很好参考价值的文章主要介绍了基于opencv识别动态验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于opencv识别动态验证码

背景:

​ 验证码可以分为静态验证码和动态验证码。静态验证码通常以 .png.jpg 等静态图片格式结尾,而动态验证码一般以 .gif 格式结尾。一些更具挑战性的验证码是基于动态验证码的。

​ 静态验证码是一张固定的图片,其中包含了随机生成的文本或图形等信息。用户需要正确识别并输入验证码中的内容以完成验证。

​ 动态验证码则是一系列连续变化的图像,以 .gif 格式展示。这些图像通常包含有旋转、闪烁、变形等特效,使其更具难度。用户需要观察并输入动态验证码中的正确信息。

​ 动态验证码相对于静态验证码更具安全性,因为它们更难以被自动化程序或机器识别。这种类型的验证码对于防止恶意登录、爬虫等攻击起到了更好的保护作用。

实现思路:

​ 假如我的本地有一张.gif的动态验证码,动态验证码其实是将多张静态验证码拼起来形成的一张动态效果图,那么如何去识别呢?

动态验证码识别,# 反爬策略,opencv,人工智能,计算机视觉,python

动态验证码识别,# 反爬策略,opencv,人工智能,计算机视觉,python

步骤:

  1. ​ 首先我们对这一张动态图片进行抽取帧。
  2. ​ 然后将多张图片基于opencv融合到一张图片上。
  3. ​ 再利于OCR或者ddddocr进行识别即可。

代码:

from PIL import Image
import numpy as np
import cv2
import ddddocr

# 将gif专户为图片
gif_path = r'D:\Downloads\gif_img.gif'
img = Image.open(gif_path)
shapes = []
# 因为gif动图是由4张图片合成的 可以多抽取几张 
for i in range(0, 4):
    img.seek(i)
    img.save(r'./img/{}.png'.format(i)) # 抽取每一帧
    img_arr=np.array(img)
    shapes.append(img_arr)
shapes[0] = np.expand_dims(shapes[0],axis = 2)
img_shape = shapes[0] + shapes[1]+shapes[2]+shapes[3]
print(img_shape)
cv2.imwrite('./img/result.png',img_shape) # 生成合成图

我们看一下每一帧图片:

动态验证码识别,# 反爬策略,opencv,人工智能,计算机视觉,python

动态验证码识别,# 反爬策略,opencv,人工智能,计算机视觉,python

我们在看一下合成图:

动态验证码识别,# 反爬策略,opencv,人工智能,计算机视觉,python

成功!

总结:

希望这个总结对你有帮助!如果还有其他问题,请随时提问。文章来源地址https://www.toymoban.com/news/detail-839951.html

到了这里,关于基于opencv识别动态验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5种常见反爬策略及解决方案

    随着互联网的发展,越来越多的公司需要爬取各种数据来分析出自己公司业务的发展方向。而目前许多目标网站也有各种各样的措施来反爬虫,越是数据价值高的网站反爬做得也就越复杂。给大家列举了几个常见的反爬措施以及解决方案。 1、通过user-agent字段来反爬 最常见的

    2024年02月05日
    浏览(35)
  • Python 利用opencv实现识别最大面积验证码

    此篇文章解决的是某象的最大验证码,这个最大面积验证码,就是识别图中划线区域中最大面积的验证码,我一开始打算用深度学习去做,但是结合了网上的资料以及自己的想法来看,还是用opencv处理又快又较为准确,而且还不用准备深度学习的一些环境 我准备了大概几十张

    2024年02月12日
    浏览(43)
  • Python 利用opencv识别某象旋转验证码,识别率达95%以上

    本期介绍某象旋转验证码识别,识别的思想其实与上篇文章识别滑动还原验证码相似,也是借鉴过来的,但是旋转验证码更加复杂,实现起来稍加困难,下面来看一下,原始数据集和识别之后数据集。 原始数据集: 将圆图旋转成功之后的数据集: 注意:我这里仅仅抓取了几

    2024年02月06日
    浏览(40)
  • 竞赛项目 深度学习验证码识别 - 机器视觉 python opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习验证码识别 - 机器视觉 python opencv 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.

    2024年02月13日
    浏览(72)
  • 【精选】验证码识别系统:Python+OpenCV(源码和部署教程)

    随着互联网的快速发展,验证码成为了保护网站安全的重要手段之一。验证码是一种用于区分人类用户和机器程序的图像或文本,通过要求用户输入正确的验证码来验证其身份。然而,传统的验证码设计往往存在一些问题,如图像模糊、干扰噪声多、字符形状复杂等,给用户

    2024年02月04日
    浏览(42)
  • 【OpenCV+OCR】计算机视觉:识别图像验证码中指定颜色文字

    【作者主页】: 吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建

    2024年02月05日
    浏览(53)
  • opencv 案例实战02-停车场车牌识别SVM模型训练及验证

    1. 整个识别的流程图: 2. 车牌定位中分割流程图: 三、车牌识别中字符分割流程图: 下载车牌相关字符样本用于训练和测试,本文使用14个汉字样本和34个数字跟字母样本,每个字符样本数为40,样本尺寸为28*28。 数据集下载地址 https://download.csdn.net/download/hai411741962/88248392

    2024年02月11日
    浏览(37)
  • selenium登录某宝跳过反爬监测及滑块验证

    一、使用chrome浏览器,浏览器驱动与浏览器版本必须一致,浏览器驱动下载好后放在python安装目录下的scripts文件夹里 二、可以跳过滑动验证码,代码如下:

    2024年02月11日
    浏览(47)
  • 【java】opencv + Tesseract(tess4j) 实现图片处理验证码识别

    2022/12/27 有的小伙伴说maven导入不了依赖,加了一种方法,百分百解决。 2022/12/28 写了半天,想去论坛放松休息下,结果看到别人已经有成品了,难受啊马飞,晚点看情况要不要写个搭建使用方法(我猜没人看,估计也不用写了,就当自己做个记录) 2023/3/24 更新了一键部署验

    2024年02月08日
    浏览(67)
  • 构建基于AWSLambda的人工智能应用:语音识别、图像识别和自然语言处理

    作者:禅与计算机程序设计艺术 在人工智能领域,用大数据、机器学习等方法来解决复杂的问题,已经成为越来越多企业和开发者关注的问题。但是,如何把这些方法落地到生产环境中,仍然是一个难题。 随着云计算平台的广泛普及,AWS Lambda作为一项服务正在成为各个公司

    2024年02月09日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包