验证码识别方法和装置制造方法及图纸

技术编号:10387187 阅读:123 留言:0更新日期:2014-09-05 12:53
本发明专利技术公开了一种验证码识别方法和装置,所述方法包括:获取网站网页中的待识别验证码图像,根据其边缘像素点的灰度值的平均值对待识别验证码图像进行二值表示;对二值表示后的待识别验证码图像进行降噪处理,并从中切割出每个待识别验证码字符的图像;对于切割出的每个待识别验证码字符的图像,构建该待识别验证码字符的二值矩阵,进而确定该待识别验证码字符的特征向量;计算该待识别验证码字符的特征向量与特征码库中的各字符的标准特征向量之间的距离,并将与该待识别验证码字符的距离最小的标准特征向量所对应的字符作为识别出的验证码字符。应用本发明专利技术可以实现网站网页中的验证码识别,以对网站网页进行安全性检测或者进行自动化测试。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种验证码识别方法和装置,所述方法包括:获取网站网页中的待识别验证码图像,根据其边缘像素点的灰度值的平均值对待识别验证码图像进行二值表示;对二值表示后的待识别验证码图像进行降噪处理,并从中切割出每个待识别验证码字符的图像;对于切割出的每个待识别验证码字符的图像,构建该待识别验证码字符的二值矩阵,进而确定该待识别验证码字符的特征向量;计算该待识别验证码字符的特征向量与特征码库中的各字符的标准特征向量之间的距离,并将与该待识别验证码字符的距离最小的标准特征向量所对应的字符作为识别出的验证码字符。应用本专利技术可以实现网站网页中的验证码识别,以对网站网页进行安全性检测或者进行自动化测试。【专利说明】验证码识别方法和装置
本专利技术涉及互联网
,尤其涉及一种验证码识别方法和装置。
技术介绍
验证码(CAPTCHA)技术通常应用在WEB系统涉及登录和输入的网站页面上。验证码技术实现的一般方法是:在网站页面上显示一幅验证码图像,由用户肉眼识别其中的验证码,并将该验证码输入表单提交网站验证。验证码具有随机性和不易被自动工具识别的特点,当用户访问某个使用验证码技术的网站页面时,每次对该网站页面的访问都会得到一个随机产生的不同的验证码。这些验证码可以被人工识别,但很难被自动识别工具(机器人)识别,从而达到保护网站不被恶意使用的目的。其中,使用验证码来保护网站的原理如下:首先服务器端生成随机数字或随机字母,并将其保存在session中;利用图形库生成验证码图像,并在验证码图像中增加一些干扰或背景噪音,例如随机画数条直线或画一些点;之后,将验证码图像展现给客户端的用户辨认;用户将从验证码图像中识别出的验证码输入表单,并发送给服务器端;服务器端将session中保存的随机数和用户输入的验证码进行对比,若相同,则验证通过,否则验证失败。目前,很多网站为了防止恶意用户利用自动识别工具破解密码、自动注册、登录、灌水等,都采用了验证码技术。而且,在网站上线运行之前,测试工程师通常会采用一些验证码识别方法对网站网页中的验证码进行识别,以检测网站的安全性。例如,对于一个网站网页中的验证码,若 其不能被采用的验证码识别方法(或自动识别工具)识别,则表明该网站网页所使用的验证码不易被识别,网站安全性较高;若该网站网页中的大部分验证码能被采用的验证码识别方法识别,则表明该网站网页所使用的验证码易被识别,网站的安全性较低,需要相关技术人员增大验证码图像的复杂度等,以保证网站上线运行后不被恶意用户攻击。而且,采用验证码识别方法对网站网页中的验证码进行识别,还可使得网站网页的自动化测试得以实现。因此,有必要提供一种能够用于网站安全性检测、自动化测试的验证码识别方法。
技术实现思路
针对上述现有技术存在的缺陷,本专利技术提供了一种验证码识别方法和装置,用以实现网站网页中的验证码识别。根据本专利技术的一个方面,提供了一种验证码识别方法,包括:获取网站网页中的待识别验证码图像;判断所述待识别验证码图像的边缘像素点的灰度值的平均值是否大于设定灰度阈值;若是,则将所述待识别验证码图像中灰度值不大于设定灰度阈值的像素点用I表示,灰度值大于设定灰度阈值的像素点用O表示;否则,将所述待识别验证码图像中灰度值大于设定灰度阈值的像素点用I表示,灰度值不大于设定灰度阈值的像素点用O表示;对二值表示后的待识别验证码图像进行降噪处理后,采用切割算法从降噪处理后的待识别验证码图像中切割出每个待识别验证码字符的图像;对于切割出的每个待识别验证码字符的图像,根据该待识别验证码字符的图像中的各像素点的表示数值,构建该待识别验证码字符的二值矩阵,进而确定出该待识别验证码字符的特征向量;对于每个待识别验证码字符,计算该待识别验证码字符的特征向量与特征码库中的各字符的标准特征向量之间的距离,并将与该待识别验证码字符的距离最小的标准特征向量所对应的字符作为识别出的验证码字符。较佳地,所述计算该待识别验证码字符的特征向量与特征码库中的各标准特征向量之间的距离,具体包括:记该待识别验证码字符为第j个待识别验证码字符,根据如下公式I计算第j个待识别验证码字符的特征向量CurrParaj与第k个标准特征向量StdParak之间的距离Lengthjk:【权利要求】1.一种验证码识别方法,其特征在于,包括: 获取网站网页中的待识别验证码图像; 判断所述待识别验证码图像的边缘像素点的灰度值的平均值是否大于设定灰度阈值;若是,则将所述待识别验证码图像中灰度值不大于设定灰度阈值的像素点用I表示,灰度值大于设定灰度阈值的像素点用O表示;否则,将所述待识别验证码图像中灰度值大于设定灰度阈值的像素点用I表示,灰度值不大于设定灰度阈值的像素点用O表示; 对二值表示后的待识别验证码图像进行降噪处理后,采用切割算法从降噪处理后的待识别验证码图像中切割出每个待识别验证码字符的图像; 对于切割出的每个待识别验证码字符的图像,根据该待识别验证码字符的图像中的各像素点的表示数值,构建该待识别验证码字符的二值矩阵,进而确定出该待识别验证码字符的特征向量; 对于每个待识别验证码字符,计算该待识别验证码字符的特征向量与特征码库中的各字符的标准特征向量之间的距离,并将与该待识别验证码字符的距离最小的标准特征向量所对应的字符作为识别出的验证码字符。2.如权利要求1所述的方法,其特征在于,所述计算该待识别验证码字符的特征向量与特征码库中的各标准特征向量之间的距离,具体包括: 记该待识别验证码字符为第j个待识别验证码字符,根据如下公式I计算第j个待识别验证码字符的特征向量CurrParaj与第k个标准特征向量StdParak之间的距离Lengthjk: ηLength " = ^ (CiirrPara j - StdPumk )' (公式I) /-1 其中,η为待识别验证码字符的特征向量的元素的个数,CurrParaji]表示第j个待识别验证码字符的特征向量的第i个元素,StdParak表示第k个待识别验证码字符的特征向量的第i个元素。3.如权利要求2所述的方法,其特征在于,所述特征码库中的各标准特征向量是预先存储的: 人工收集所述网站网页中的若干验证码图像,确定出收集的验证码图像中的每个字符的二值矩阵;对于每个字符,根据该字符的二值矩阵确定出该字符的特征向量,作为该字符的标准特征向量对应存储到所述特征码库中。4.如权利要求3所述的方法,其特征在于,所述确定出该待识别验证码字符的特征向量,具体包括: 将该待识别验证码字符的二值矩阵的第i列元素之和作为该待识别验证码字符的特征向量的第i个元素;或者, 将该待识别验证码字符的二值矩阵的第i行元素之和作为该待识别验证码字符的特征向量的第i个元素;或者, 将该待识别验证码字符的二值矩阵的第i列元素之和作为该待识别验证码字符的特征向量的第i个元素,并将该待识别验证码字符的第m行元素之和作为该待识别验证码字符的第m+i个元素;或者, 将该待识别验证码字符的二值矩阵的第i行元素之和作为该待识别验证码字符的特征向量的第i个元素,并将该待识别验证码字符的第m列元素之和作为该待识别验证码字符的第m+i个元素。5.如权利要求4所述的方法,其本文档来自技高网
...
验证码识别方法和装置

【技术保护点】
一种验证码识别方法,其特征在于,包括:获取网站网页中的待识别验证码图像;判断所述待识别验证码图像的边缘像素点的灰度值的平均值是否大于设定灰度阈值;若是,则将所述待识别验证码图像中灰度值不大于设定灰度阈值的像素点用1表示,灰度值大于设定灰度阈值的像素点用0表示;否则,将所述待识别验证码图像中灰度值大于设定灰度阈值的像素点用1表示,灰度值不大于设定灰度阈值的像素点用0表示;对二值表示后的待识别验证码图像进行降噪处理后,采用切割算法从降噪处理后的待识别验证码图像中切割出每个待识别验证码字符的图像;对于切割出的每个待识别验证码字符的图像,根据该待识别验证码字符的图像中的各像素点的表示数值,构建该待识别验证码字符的二值矩阵,进而确定出该待识别验证码字符的特征向量;对于每个待识别验证码字符,计算该待识别验证码字符的特征向量与特征码库中的各字符的标准特征向量之间的距离,并将与该待识别验证码字符的距离最小的标准特征向量所对应的字符作为识别出的验证码字符。

【技术特征摘要】

【专利技术属性】
技术研发人员:金巍巍
申请(专利权)人:北京乐动卓越科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1