CN101944177A - 一种验证码识别方法 - Google Patents

一种验证码识别方法 Download PDF

Info

Publication number
CN101944177A
CN101944177A CN 201010268533 CN201010268533A CN101944177A CN 101944177 A CN101944177 A CN 101944177A CN 201010268533 CN201010268533 CN 201010268533 CN 201010268533 A CN201010268533 A CN 201010268533A CN 101944177 A CN101944177 A CN 101944177A
Authority
CN
China
Prior art keywords
identifying code
image data
data
negate
recognition methods
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 201010268533
Other languages
English (en)
Inventor
刘国炯
张代军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN DUOYING SOFTWARE TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN DUOYING SOFTWARE TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN DUOYING SOFTWARE TECHNOLOGY Co Ltd filed Critical SHENZHEN DUOYING SOFTWARE TECHNOLOGY Co Ltd
Priority to CN 201010268533 priority Critical patent/CN101944177A/zh
Publication of CN101944177A publication Critical patent/CN101944177A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Input (AREA)

Abstract

本发明公开了一种验证码识别方法,包括步骤:A1、将验证码图像数据加载到内存中;A2、对所述验证码图像进行二值化处理,得到二值化图像数据;A3、对所述二值化图像数据进行取反处理,得到取反图像数据;A4、对所述取反图像数据进行去除边框处理,得到无边框图像数据;A5、对所述无边框图像数据进行去除干扰点处理,得到最终图像数据;A6、调用OCR识别程序对所述最终图像数据进行字符识别。本发明验证码识别方法通过对有干扰点和背景色的验证码进行正确识别,确保了自动化测试流程的顺利进行,提高了自动化测试的工作效率。

Description

一种验证码识别方法
技术领域
本发明涉及图像处理技术领域,具体涉及一种有干扰点和背景色的验证码识别方法。
背景技术
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种用于区分计算机和人的公共全自动程序。验证码一般通过将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰元素,例如干扰点,由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。因此通过验证码可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定功能用特定程序暴力破解方式进行不断的登陆尝试,提高网站的安全性。实际开发网站系统中基于安全性考虑必须要引入验证码,但验证码的引入却阻碍测试人员利用自动化测试工具对系统进行自动化测试工作,现有技术的自动化测试工具大多采用OCR(Optical Character Recognition,光学字符识别)技术,只能对无干扰杂色、白色背景、深色字体等简单验证码进行自动识别,而在实际网站系统开发中都会采用具有一定干扰点、不同颜色背景的验证码,现有技术自动化测试工具的验证码识别方法亟待改进。
发明内容
本发明要解决的技术问题是提供一种验证码识别方法,克服现有技术自动化测试工具验证码识别方法无法对有干扰点和背景色的验证码进行识别的缺陷。
本发明为解决上述技术问题所采用的技术方案为:
一种验证码识别方法,包括步骤:
A1、将验证码图像数据加载到内存中;
A2、对所述验证码图像进行二值化处理,得到二值化图像数据;
A3、对所述二值化图像数据进行取反处理,得到取反图像数据;
A4、对所述取反图像数据进行去除边框处理,得到无边框图像数据;
A5、对所述无边框图像数据进行去除干扰点处理,得到最终图像数据;
A6、调用OCR识别程序对所述最终图像数据进行字符识别。
所述的验证码识别方法,其中所述步骤A2包括步骤:按照灰度变换公式Y=0.3*R+0.59*G+0.11*B确定灰度变换矩阵,其中R、G、B的取值范围为0到255的正整数。
所述的验证码识别方法,其中所述步骤A2包括步骤:根据公式:
m = ( Σ i = 1 n f ( x , y ) ) / n
确定二值化阀值,其中m为二值化阀值,f为输入图像,n为所有像素的数目,f(x,y)为坐标(x,y)处像素点的灰度值。
所述的验证码识别方法,其中所述步骤A3包括步骤:按照取反变换公式Y=-1*R+-1*G+-1*B确定取反变换矩阵,其中R、G、B的取值范围为0到255的正整数。
所述的验证码识别方法,其中所述步骤A4包括步骤:通过在指定宽度的矩形区域填充白色像素点数据对所述取反图像数据进行去除边框处理。
所述的验证码识别方法,其中所述步骤A5包括步骤:对所述无边框图像数据的每一个像素点数据进行遍历,判断其四周是否都为白色像素点数据,如果是则将该像素点数据改为白色像素点数据。
本发明的有益效果:本发明验证码识别方法通过对有干扰点和背景色的验证码进行正确识别,确保了自动化测试流程的顺利进行,提高了自动化测试的工作效率。
附图说明
本发明包括如下附图:
图1为本发明验证码识别方法流程图;
图2为本发明实施例验证码图像;
图3为本发明实施例二值化处理后的验证码图像;
图4为本发明实施例取反处理后的验证码图像;
图5为本发明实施例去除边框处理后的验证码图像;
图6为本发明实施例去除干扰点处理后的验证码图像。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
如图1所示,本发明验证码识别方法,包括步骤:
A1、将验证码图像数据加载到内存中;
A2、对所述验证码图像进行二值化处理,得到二值化图像数据;
A3、对所述二值化图像数据进行取反处理,得到取反图像数据;
A4、对所述取反图像数据进行去除边框处理,得到无边框图像数据;
A5、对所述无边框图像数据进行去除干扰点处理,得到最终图像数据;
A6、调用OCR识别程序对所述最终图像数据进行字符识别。
(1)加载验证码图像
输入验证码图片地址,通过DownLoadImage函数,下载验证码图片流数据,并保存到Windows中GDI+(Graphics Device Interface的缩写,是图形设备接口的意思)TImage类的一个CodeImage变量中,下载的验证码原图如图2所示。根据GDI+描述TImage存储原理图像按每个像素的颜色都存储为32位的数:红色(R)、绿色(G)、蓝色(B)和透明度(A)各占8位。颜色矢量采用4元组形式(红色、绿色、蓝色、alpha)。例如,颜色矢量(0,255,0,255)表示一种没有红色和蓝色但绿色达到最大亮度的不透明颜色。颜色矢量可以旋转和缩放等线性变换,而GDI+中为了实现颜色矢量的平移等非线性变换,约定一个5×5矩阵应用任何组合形式的线性变换和平移。
(2)图像二值化处理
验证码的原图是一个黑色背景、紫色边框、红色文字和杂色干扰点的彩色图片,需要先变成灰度图像,GDI+函数中已经提供颜色变换功能,但需要定义灰度变换矩阵,按照颜色空间原理中灰度变换公式Y=0.3*R+0.59*G+0.11*B(其中R、G、B的取值范围为0~255)得到灰度变换矩阵如下:
float[][]GrayMX={
                 new float[]{0.3f,0.3f,0.3f,0,0},
                 new float[]{0.59f,0.59f,0.59f,0,0},
                 new float[]{0.11f,0.11f,0.11f,0,0},
                 new float[]{0,0,0,1,0},
                     new float[]{0,0,0,1,0}};
根据上面变换矩阵,调用GDI+中的灰度变换方法进行处理图像,GDI+灰度变换原理为对图像每一个像素点的颜色矢量进行线性变换(即为乘法运算的累积和),得到新的像素点,形成变换后灰度图像。
根据上面的得到的灰度图像,需要设定阀值进行二值化处理,此例采用平均灰度值法计算二值化阀值,所用公式如下:
m = ( Σ i = 1 n f ( x , y ) ) / n
其中m为二值化阀值,f为输入图像,n为所有像素的数目,f(x,y)为坐标(x,y)处像素点的灰度值。此例子中计算阀值为20。
根据图像二值化算法,像素点的灰度值高于20的像素设置为1,即颜色矢量为(255,255,255,255),低于20的像素设置为0,即颜色矢量为(0,0,0,255)。利用GDI+中图像处理函数,按照设置灰度变换矩阵和阀值参数,得到的二值化图像如图3所示。
(3)图像取反色处理
根据(2)中得到的二值化图像,还是存在黑色背景,因此需要进行图像取反处理;对二值化图像取反其实就将黑、白色像素点互换处理,按照颜色空间原理中取反变换公式Y=-1*R+-1*G+-1*B(其中R、G、B的取值范围为0~255)得到取反变换矩阵如下:
float[][]InvertMX={
                   new float[]{-1,0,0,0,0},
                   new float[]{0,-1,0,0,0},
                   new float[]{0,0,-1,0,0},
                   new float[]{0,0,0,1,0},
                   new float[]{1,1,1,0,1}};
根据上面的变换矩阵,对图像每一个像素点的颜色矢量进行线性变换(即为乘法运算的累积和),得到新的像素点,形成变换后的取反图像如图4所示。
(4)去除图像边框
去除图像边框算法比较简单,主要通过设置图像四周要去除的像素宽度,通过Graphics类的FillRectangle函数将四周指定宽度的矩形区域填充成白色像素即可。本例子中将上、下、左、右去除的像素宽度都设置为2,去除边框后的图像如图5所示。
(5)去干扰点处理
由于一个图片是有一个一个像素点组成的,而对于Windows下的位图一个像素点四周最多有8个像素点,而对于图片中的字符像素一般都是连接的像素点。根据这个特性可以将四周都为白色像素点的像素点,认定为干扰像素点。因此去除干扰点算法为:加载步骤(4)处理后的图像到Bitmap位图对象中,通过遍历图像的每一个像素,并判断其四周是否都为白色像素点,如果是将其改为白色像素点。去除干扰点处理后的图像如图6所示。
(6)调用OCR识别API
加载OCR识别库文件,调用图像识别API函数对步骤(5)处理后的图像进行识别,得到字符串“UWDF”,完成对验证码的自动识别。有干扰点和背景色的验证码都可以参照此实例实现识别。
利用本发明提出的方案,可以开发验证码图像处理的DLL(Dynamic Link Library,动态链接库)库文件,负责对验证码图像进行识别前的处理工作;而自动化测试人员可以通过QTP(QuickTest Professional的简称,一种自动测试工具)本身的扩展编程功能,调用验证码图像处理的DLL和OCR的API,完成自动测试过程中对待测试网站验证码的自动识别,确保自动化测试流程的顺利进行。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。

Claims (6)

1.一种验证码识别方法,其特征在于,包括步骤:
A1、将验证码图像数据加载到内存中;
A2、对所述验证码图像进行二值化处理,得到二值化图像数据;
A3、对所述二值化图像数据进行取反处理,得到取反图像数据;
A4、对所述取反图像数据进行去除边框处理,得到无边框图像数据;
A5、对所述无边框图像数据进行去除干扰点处理,得到最终图像数据;
A6、调用OCR识别程序对所述最终图像数据进行字符识别。
2.根据权利要求1所述的验证码识别方法,其特征在于,所述步骤A2包括步骤:按照灰度变换公式Y=0.3*R+0.59*G+0.11*B确定灰度变换矩阵,其中R、G、B的取值范围为0到255的正整数。
3.根据权利要求2所述的验证码识别方法,其特征在于,所述步骤A2包括步骤:根据公式:
m = ( Σ i = 1 n f ( x , y ) ) / n
确定二值化阀值,其中m为二值化阀值,f为输入图像,n为所有像素的数目,f(x,y)为坐标(x,y)处像素点的灰度值。
4.根据权利要求3所述的验证码识别方法,其特征在于,所述步骤A3包括步骤:按照取反变换公式Y=-1*R+-1*G+-1*B确定取反变换矩阵,其中R、G、B的取值范围为0到255的正整数。
5.根据权利要求4所述的验证码识别方法,其特征在于,所述步骤A4包括步骤:通过在指定宽度的矩形区域填充白色像素点数据对所述取反图像数据进行去除边框处理。
6.根据权利要求5所述的验证码识别方法,其特征在于,所述步骤A5包括步骤:对所述无边框图像数据的每一个像素点数据进行遍历,判断其四周是否都为白色像素点数据,如果是则将该像素点数据改为白色像素点数据。
CN 201010268533 2010-08-30 2010-08-30 一种验证码识别方法 Pending CN101944177A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010268533 CN101944177A (zh) 2010-08-30 2010-08-30 一种验证码识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010268533 CN101944177A (zh) 2010-08-30 2010-08-30 一种验证码识别方法

Publications (1)

Publication Number Publication Date
CN101944177A true CN101944177A (zh) 2011-01-12

Family

ID=43436163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010268533 Pending CN101944177A (zh) 2010-08-30 2010-08-30 一种验证码识别方法

Country Status (1)

Country Link
CN (1) CN101944177A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508851A (zh) * 2011-09-27 2012-06-20 深圳市五巨科技有限公司 一种图片上传的处理方法及系统
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN103020634A (zh) * 2011-09-26 2013-04-03 北京大学 用于验证码识别的分割方法和装置
CN103425575A (zh) * 2012-05-25 2013-12-04 腾讯科技(深圳)有限公司 一种测试方法和装置
CN104360854A (zh) * 2014-11-03 2015-02-18 联想(北京)有限公司 一种信息处理方法及电子设备
CN104573469A (zh) * 2013-10-18 2015-04-29 镇江鼎拓科技信息有限公司 一种图形验证码识别的方法
CN105046140A (zh) * 2015-06-09 2015-11-11 苏州德锐朗智能科技有限公司 一种用于字符验证码的自动输入方法
CN105160236A (zh) * 2015-08-31 2015-12-16 小米科技有限责任公司 一种输入验证码的方法和装置
CN105187443A (zh) * 2015-09-28 2015-12-23 上海斐讯数据通信技术有限公司 一种测试web验证码的系统及方法
CN105681344A (zh) * 2016-03-11 2016-06-15 广东亿迅科技有限公司 一种验证码识别系统及方法
CN106203435A (zh) * 2016-07-13 2016-12-07 广州安望信息科技有限公司 图文识别方法及其装置
CN107067006A (zh) * 2017-04-20 2017-08-18 金电联行(北京)信息技术有限公司 一种服务于数据采集的验证码识别方法及系统
CN108563559A (zh) * 2018-03-12 2018-09-21 平安普惠企业管理有限公司 一种验证码的测试方法、装置、终端设备及存储介质
CN109189683A (zh) * 2018-08-28 2019-01-11 中金金融认证中心有限公司 一种用于app测试中验证码自动输入的方法及系统
CN113849800A (zh) * 2021-02-05 2021-12-28 天翼智慧家庭科技有限公司 一种用于生成防破解图形验证码的方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763505A (zh) * 2009-12-29 2010-06-30 重庆大学 基于投影对称性的车牌字符特征提取及分类方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763505A (zh) * 2009-12-29 2010-06-30 重庆大学 基于投影对称性的车牌字符特征提取及分类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《中国优秀硕士学位论文全文数据库(中国学术期刊(光盘版)电子期)》 20080930 韦平安 车牌识别系统技术研究 , *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020634A (zh) * 2011-09-26 2013-04-03 北京大学 用于验证码识别的分割方法和装置
CN102508851A (zh) * 2011-09-27 2012-06-20 深圳市五巨科技有限公司 一种图片上传的处理方法及系统
CN103425575B (zh) * 2012-05-25 2018-02-02 腾讯科技(深圳)有限公司 一种测试方法和装置
CN103425575A (zh) * 2012-05-25 2013-12-04 腾讯科技(深圳)有限公司 一种测试方法和装置
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN102930277B (zh) * 2012-09-19 2016-04-27 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN104573469A (zh) * 2013-10-18 2015-04-29 镇江鼎拓科技信息有限公司 一种图形验证码识别的方法
CN104360854A (zh) * 2014-11-03 2015-02-18 联想(北京)有限公司 一种信息处理方法及电子设备
CN105046140A (zh) * 2015-06-09 2015-11-11 苏州德锐朗智能科技有限公司 一种用于字符验证码的自动输入方法
CN105160236A (zh) * 2015-08-31 2015-12-16 小米科技有限责任公司 一种输入验证码的方法和装置
CN105160236B (zh) * 2015-08-31 2018-04-06 小米科技有限责任公司 一种输入验证码的方法和装置
CN105187443A (zh) * 2015-09-28 2015-12-23 上海斐讯数据通信技术有限公司 一种测试web验证码的系统及方法
CN105187443B (zh) * 2015-09-28 2018-03-06 上海斐讯数据通信技术有限公司 一种测试web验证码的系统及方法
CN105681344A (zh) * 2016-03-11 2016-06-15 广东亿迅科技有限公司 一种验证码识别系统及方法
CN106203435A (zh) * 2016-07-13 2016-12-07 广州安望信息科技有限公司 图文识别方法及其装置
CN107067006A (zh) * 2017-04-20 2017-08-18 金电联行(北京)信息技术有限公司 一种服务于数据采集的验证码识别方法及系统
CN108563559A (zh) * 2018-03-12 2018-09-21 平安普惠企业管理有限公司 一种验证码的测试方法、装置、终端设备及存储介质
CN109189683A (zh) * 2018-08-28 2019-01-11 中金金融认证中心有限公司 一种用于app测试中验证码自动输入的方法及系统
CN113849800A (zh) * 2021-02-05 2021-12-28 天翼智慧家庭科技有限公司 一种用于生成防破解图形验证码的方法和系统

Similar Documents

Publication Publication Date Title
CN101944177A (zh) 一种验证码识别方法
CN109754393A (zh) 一种基于深度学习的篡改图像鉴定方法及装置
CN111539238B (zh) 二维码图像修复方法、装置、计算机设备和存储介质
CN111681162A (zh) 一种缺陷样本生成方法、装置、电子设备及存储介质
CN107492187B (zh) 一种拼接钞的识别方法、装置、终端设备和存储介质
CN111680690A (zh) 一种文字识别方法及装置
CN109522768A (zh) Qr码的识别方法及装置
KR101842535B1 (ko) 부호의 광학적 검출 방법
CN113554008B (zh) 静态物体区域内检测方法、装置、电子设备及存储介质
CN115063618A (zh) 一种基于模板匹配的缺陷定位方法、系统、设备及介质
CN113435219B (zh) 防伪检测方法、装置、电子设备及存储介质
CN113468905B (zh) 图形码识别方法、装置、计算机设备和存储介质
CN116091503B (zh) 一种面板异物缺陷的判别方法、装置、设备及介质
CN110147765B (zh) 一种图像处理方法及装置
CN114998282B (zh) 图像检测方法、装置、电子设备及存储介质
CN107330470B (zh) 识别图片的方法和装置
CN108205675B (zh) 一种车牌图像的处理方法以及设备
CN112541899B (zh) 证件的残缺检测方法、装置、电子设备及计算机存储介质
CN115063405A (zh) 钢材表面缺陷检测的方法、系统、电子设备和存储介质
CN110427891B (zh) 用于识别合同的方法、装置、系统及介质
CN114821588A (zh) 图像处理方法、装置、电子设备及可读介质
CN106934814B (zh) 一种基于图像的背景信息识别方法及装置
CN108573253B (zh) 车牌字符二值图的生成方法
CN110503091A (zh) 基于神经网络模型的证件验证方法、装置及存储介质
CN112016339B (zh) 二维码识别及缺损修复方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 518049 Guangdong city of Shenzhen province Futian District Meihua Road, building 105, 5 layers of technology from room 0504

Applicant after: Shenzhen win win E-Commerce Technology Co., Ltd.

Address before: 518049 Guangdong city of Shenzhen province Futian District Meihua Road, building 105, 5 layers of technology from room 0504

Applicant before: Shenzhen Duoying Software Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN DUOYING SOFTWARE TECHNOLOGY CO., LTD. TO: SHENZHEN DUOYING E-BUSINESS TECHNOLOGY CO., LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110112