Study-基于不变矩的数字验证码识别

简介: Study-基于不变矩的数字验证码识别

案例背景


  验证码具有千变万化的特点,而当前的识别系统往往具有很强的针对性,只能够识别某种类型的验证码。随着网络安全技术及验证码生成技术的不断发展,已经出现了更加复,杂的验证码生成方法,如基于动态图像的验证码系统等。虽然目前人工智能还远未达到人类智能水平,但是对于给定的验证码生成系统,在获知其特点之后,通过一定的识别策略往往能够以一定的准确率进行识别。


  本案例运用计算机视觉、模式识别等相关理论对多种不同类型的验证码进行识别研究,选取了具有代表性的某著名网站备案查询所提供的验证码为研究对象,对具体的验证码提出了有针对性的破解方,揭示了其不安全的可能性,并通过对不同识别算法的对比,使研究具有一定的理论和实际价值。



理论基础


  图像识别技术是利用计算机对图像进行分析和处理,用以协助人们理解和识别不同模式的目标和对象的技术。数字验证码识别是光学字符识别(OCR)的一种,是经典的模式,识别研究对象。本案例提出了以处理颜色加噪的数字字符为理论研究素材,将模板匹配作为基本框架的验证码识别系统。本系统的优点在于能够对特定类型的数字验证码进行精确识别,实验中识别准确率可达到95%以上,并提供动态更新样本库的功能,可根据实际运行的环境提高验证码的识别率。


  数字验证码识别需要研究的理论是图像识别,主要是通过模拟人类的视觉特性来分析验证码字符的特点,其目标是识别验证码,即读取图像文件中的验证码字符。所谓验证码就是由程序随机生成的一组字符(一般为数字或数字与字母的组合)图片。在某些应用场景下,为了实现一系列自动操作,需要对所遇到的验证码进行识别"。


基于这种原因,本案例选择了经典的数字验证码识别作为识别的对象。验证码的识别涉及图像预处理、分割、特征提取、识别等相关技术,本案例通过对彩色验证码图像进行灰度化、二值化、去噪和归一化等步骤来进行预处理,通过建立模板库的动态更新机制来提高系统的兼容性,进一步提升验证码识别的效率和准确性。



程序展示


  在本实验中为了进行验证码识别,需要建立模板库,采用GUI设计软件并建立动态模板库,加入自动更新的功能来提高对数字验证码的识别率。数字验证码待识别对象即0~9这10个数字,调用mkdir函数来自动建立模板数据库文件夹,用于存储分割生成的标准数字图像作为模板库。(代码:github.com/kivenyangmi…


GUI界面:

image.png

image.png

image.png

image.png

image.png


为提高软件对此类数字验证码的识别率,需要进一步丰富模板库,特别是对于识别错 误的验证码图像,应该进行手动确认并更新入库,最后重新生成模板库。这样可以不断提 高软件的识别率。


相关文章
|
机器学习/深度学习 文字识别 算法
|
7月前
|
JavaScript 前端开发 Python
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
57 0
|
机器学习/深度学习 存储 文字识别
基于CRNN的文本字符交易验证码识别--Paddle实战
验证码作为性价较高的安全验证方法,在多场合得到了广泛的应用,有效地防止了机器人进行身份欺骗,其中,以基于文本字符的静态验证码最为常见。随着使用的深入,噪声点、噪声线、重叠、形变等干扰手段层出不穷,不断提升安全防范级别。RPA技术作为企业数字化转型的关键,因为其部署的非侵入式备受企业青睐,验证码识别率不高往往限制了RPA技术的应用。一个能同时过滤多种干扰的验证码模型,对于相关自动化技术的拓展使用有着一定的商业价值。
441 0
基于CRNN的文本字符交易验证码识别--Paddle实战
|
数据采集 人工智能 算法
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
|
算法
【java_蓝桥杯算法训练】算法训练 输出米字形
根据输入的正整数n (1  米字形由一个(2n-1)*(2n-1)的矩阵组成,矩阵包含从大写A开始的n个字母   例如:n=3时,包含A,B,C;n=4时,包含A,B,C,D。   矩阵的正中间为n个字母中字典序最大的那个,从这个字母开始,沿着西北、正北、东北、正西、正东、西南、正南、东南八个方向各有一条由大写字母组成的直线。并且直线上的字母按字典序依次减小,直到大写字母A。   矩阵的其它位置用英文句号.填充。
99 0
|
机器学习/深度学习 算法 数据挖掘
K近邻算法(KNN)(包含手写体识别、约会类型识别的代码)
是有监督学习、属于判别模型 、支持多分类以及回归、非线性、有预测函数、无优化目标、无优化求解算法。(算法地图) 对应每个训练数据xi有对应的标签yi--监督学习;
175 0
K近邻算法(KNN)(包含手写体识别、约会类型识别的代码)
|
机器学习/深度学习 算法 数据建模
K近邻算法识别数字---OpenCV-Python开发指南(40)
K近邻算法识别数字---OpenCV-Python开发指南(40)
174 0
K近邻算法识别数字---OpenCV-Python开发指南(40)
|
存储 算法 数据挖掘
手写数字识别系统之数字提取
引言 所谓数字分割就是指将经过二值化后的图像中的单个数字区域进行提取的过程。数字分割在数字识别中是一个必不可少的关键步骤,只有能够将数字进行准确的提取,才能将其一一识别。
1309 0
|
算法 算法框架/工具 计算机视觉
CV:基于keras利用算法MobilenetV2实现局部相似域的多人二维姿态实时估计(詹姆斯扣篮+美女跳舞)
CV:基于keras利用算法MobilenetV2实现局部相似域的多人二维姿态实时估计(詹姆斯扣篮+美女跳舞)
CV:基于keras利用算法MobilenetV2实现局部相似域的多人二维姿态实时估计(詹姆斯扣篮+美女跳舞)
|
算法 计算机视觉 索引
Study - 基于Hu不变矩的图像检索技术
Study - 基于Hu不变矩的图像检索技术
244 0
Study - 基于Hu不变矩的图像检索技术