CN104252620B - 字符粘连的图形验证码识别方法 - Google Patents

字符粘连的图形验证码识别方法 Download PDF

Info

Publication number
CN104252620B
CN104252620B CN201410496368.1A CN201410496368A CN104252620B CN 104252620 B CN104252620 B CN 104252620B CN 201410496368 A CN201410496368 A CN 201410496368A CN 104252620 B CN104252620 B CN 104252620B
Authority
CN
China
Prior art keywords
image
character
recognition methods
verification code
degree
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.)
Active
Application number
CN201410496368.1A
Other languages
English (en)
Other versions
CN104252620A (zh
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.)
Tongcheng Network Technology Co Ltd
Original Assignee
Tongcheng Network 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 Tongcheng Network Technology Co Ltd filed Critical Tongcheng Network Technology Co Ltd
Priority to CN201410496368.1A priority Critical patent/CN104252620B/zh
Publication of CN104252620A publication Critical patent/CN104252620A/zh
Application granted granted Critical
Publication of CN104252620B publication Critical patent/CN104252620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

本发明涉及一种字符粘连的图形验证码识别方法,其特点是:使用中值滤波去除图像中的噪点,并使用门限算法,将图像进行二值化处理。同时,通过分析图像的二值化矩阵,算出验证码的平均宽度,将未粘连的验证码字符提取出来。并且,粘连字符进行均分,将分割完的字符图像进行锐化。最终,使用模式识别软件,对分割后的字符进行识别,最后根据概率,以识别最多或概率最高的字符为识别结果。在抓取需要输入验证码的网络资源时,能够自动识别验证码,进行准确的抓取,且能够针对不同验证码的处理调节,提高了应用范围。

Description

字符粘连的图形验证码识别方法
技术领域
本发明涉及一种验证码识别方法,尤其涉及一种字符粘连的图形验证码识别方法。
背景技术
验证码的出现是为了防止某些恶意程序对网站的破坏,如批量注册、批量发帖、同时也防止那些爬虫程序无视规则进行资源抓取。所谓验证码就是将一组随机数字或符号生成一幅图片,并在图片中加入一些干扰元素,用户在提交表单的时候,需要识别并填写验证码,只有在后台核对验证码成功后才能成功提交表单,而这个过程正是机器程序不容易模拟的,那些粘连字符更是让机器程序难以识别,从而在一定程度上起到了保护网站免受恶意程序攻击目的。
因此。验证码给网站带来安全的同时,也给某些从事网络抓取工作的人们带来了一定的不便,验证码识别算法正是为解决此问题。
关于ImageMagick描述,ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。
并且,ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。支持大多数的操作系统。
关于Tesseract-ocr,Tesseract 是一款开源的光学字符串识别(OCR)项目,能够识别图像验证码。比如存在一个格式为TIF的文字图,Tesseract能够识别出该图片中的文字,将识别到的文字写入到一个文本文件中,识别效果很不错。如果想要识别不同语言的文字图像,需要下载响应的支持包,才能让Tesseract识别更多格式的图像。Tesseract项目地址可以通过下载开源发行包,或者到该项目网站了解更多信息。
关于图像二值化,一般图片都是彩色的,按照逼真程度,可能很多级别。为了降低计算复杂度,方便后续的处理,如果在不损失关键信息的情况下,能将图片处理成黑白两种颜色,那就最好不过了。
关于模式识别,对事物或者现象的某种表示方式(数值,文字,我们这里主要想说的是数值),通过一些处理和分析,来描述,归类,理解,解释这些事物,现象及其某种抽象。
关于图像锐化(image sharpening),其为补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,亦分空域处理和频域处理两类。
发明内容
本发明的目的就是为了解决现有技术中存在的上述问题,提供一种字符粘连的图形验证码识别方法。
本发明的目的通过以下技术方案来实现:
字符粘连的图形验证码识别方法,其特征在于包括以下步骤:步骤①,使用中值滤波去除图像中的噪点。步骤②,使用门限算法,选择适当的阀值,将图像进行二值化处理。步骤③,分析图像的二值化矩阵,根据图像的垂直投影,获取验证码内容的宽度,并根据验证码个数,算出验证码的平均宽度。 步骤④,分析图像的二值化矩阵,通过图像的垂直投影或是边缘检测,将未粘连的验证码字符提取出来。步骤⑤,分析图像的二值化矩阵,根据图像的水平投影,计算出图像的水平中轴线、字符的高度,按字符的平均宽度,将水平中轴线进行等分,对粘连字符进行均分,分割线分别与水平中轴线的等分点相交,分割出若干角度,保存分割完的字符。步骤⑥,将分割完的字符图像进行锐化。步骤⑦,根据切割字符的特征,训练模式识别软件。步骤⑧,使用模式识别软件,对分割后的字符进行识别,最后根据概率,以识别最多或概率最高的字符为识别结果。
上述的字符粘连的图形验证码识别方法,其中:所述步骤②的计算过程为,将图像二值化之后,会生成一个二值化矩阵,二值化矩阵为图像的像素点,每个像素点映射成矩阵里面的一个值,将矩阵垂直像素信息进行累加,既像素点不为空白+1,像素点为空白+0,最终求出图像的垂直投影,通过垂直投影,判断图片文字内容的宽度与文字之间的间隙。
进一步地,上述的字符粘连的图形验证码识别方法,其中:所述的步骤④中,对于未粘连验证码,若属于普通字符,通过图像的垂直投影获取图像的边缘后提取,所述图像的边缘为投影值大小为0或小于设定值的地方,若属于特殊的倾斜字符,根据图像矩阵的排列,找寻像素连续为0的分界线进行图像提取。
更进一步地,上述的字符粘连的图形验证码识别方法,其中:步骤⑤所述的分割角为-30度,和/或是-20度,和/或是-10度和/或是,和/或是0度,和/或是10度,和/或是20度,和/或是30度。
更进一步地,上述的字符粘连的图形验证码识别方法,其中:步骤⑦所述的训练为,通过Tesseract-OCR训练工具进行。
再进一步地,上述的字符粘连的图形验证码识别方法,其中:步骤⑧所述的识别过程由模式识别软件来完成,模式识别软件将返回识别概率最高的字符作为识别结果,或是采用模式识别接口来返回相应字符的识别概率。
本发明技术方案的优点主要体现在:在网络抓取应用抓取需要输入验证码的网络资源时,能够自动识别验证码,进行准确的抓取,不会因验证码的存在而受阻,出现抓取错误。由此,保证了网络抓取的准确性。同时,本方法能够有效利用Tesseract-OCR训练工具,实现针对不同验证码的处理调节,提高了应用范围。
附图说明
图1是字符粘连的图形验证码识别方法的处理流程示意图。
具体实施方式
如图1所示的字符粘连的图形验证码识别方法,其包括以下步骤:首先,使用中值滤波去除图像中的噪点。
之后,使用门限算法,选择适当的阀值,将图像进行二值化处理。本发明涉及到的阀值,二值化算法中的一个临界值,大于这个值像素都将置为255,而小于等于这个值的都将置为0。通过阀值的存在,也能一定程度的去噪,便于后续处理。具体来说,将图像二值化之后,会生成一个二值化矩阵。同时,二值化矩阵为图像的像素点,每个像素点映射成矩阵里面的一个值,将矩阵垂直像素信息进行累加,既像素点不为空白+1,像素点为空白+0。最终,求出图像的垂直投影,并通过垂直投影,判断图片文字内容的宽度与文字之间的间隙。
接着,分析图像的二值化矩阵,根据图像的垂直投影,获取验证码内容的宽度。根据验证码个数,算出验证码的平均宽度。同时,分析图像的二值化矩阵,通过图像的垂直投影或是边缘检测,将未粘连的验证码字符提取出来。在此期间,对于未粘连验证码,若属于普通字符,贼通过图像的垂直投影获取图像的边缘后提取。该图像的边缘为投影值大小为0或小于设定值的地方。考虑到图形验证码的多样性,若属于特殊的倾斜字符,则根据图像矩阵的排列,找寻像素连续为0的分界线进行图像提取。
之后,继续依据图像的二值化矩阵,根据图像的水平投影,计算出图像的水平中轴线、字符的高度。同时,按字符的平均宽度,将水平中轴线进行等分,对粘连字符进行均分。通过分割线分别与水平中轴线的等分点相交,分割出若干角度,保存分割完的字符。并且,考虑到图形验证码的间距、大小、倾斜程度、位置分布的不同,分割角为-30度,和/或是-20度,和/或是-10度和/或是,和/或是0度,和/或是10度,和/或是20度,和/或是30度。
然后,将分割完的字符图像进行锐化。为了便于实施,该锐化方式与现有技术是一样的,这样,通过锐化,能够提高图像边缘的清晰度,方便模式识别软件辨识。
随后,根据切割字符的特征,有针对性的训练模式识别软件。考虑到实施的便利性,通过Tesseract-OCR训练工具进行。由于该软件有较好的扩展性与便捷性,具体的训练方式可以参考,http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3。
最终,使用模式识别软件,对分割后的字符进行识别。根据概率,以识别最多或概率最高的字符为识别结果。比如,字符“9”字符经过多角度分割,可能产生10个图片,假设识别结果为:空、0、空、9、1、空、9、1、9,空,那么识别最终结果为9。具体来说,识别过程由模式识别软件来完成,模式识别软件将返回识别概率最高的字符作为识别结果。同时,亦可以通过模式识别接口来返回相应字符的识别概率。上述两种方式可以通过模式识别软件来权衡,减少人工参与。
通过上述的文字表述可以看出,采用本发明后,在网络抓取应用抓取需要输入验证码的网络资源时,能够自动识别验证码,进行准确的抓取,不会因验证码的存在而受阻,出现抓取错误。由此,保证了网络抓取的准确性。同时,本方法能够有效利用Tesseract-OCR训练工具,实现针对不同验证码的处理调节,提高了应用范围。
这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。

Claims (6)

1.字符粘连的图形验证码识别方法,其特征在于包括以下步骤:步骤①,使用中值滤波去除图像中的噪点;步骤②,使用门限算法,选择适当的阀值,将图像进行二值化处理;步骤③,分析图像的二值化矩阵,根据图像的垂直投影,获取验证码内容的宽度,并根据验证码个数,算出验证码的平均宽度;步骤④,分析图像的二值化矩阵,通过图像的垂直投影或是边缘检测,将未粘连的验证码字符提取出来;步骤⑤,分析图像的二值化矩阵,根据图像的水平投影,计算出图像的水平中轴线、字符的高度,按字符的平均宽度,将水平中轴线进行等分,对粘连字符进行均分,分割线分别与水平中轴线的等分点相交,分割出若干角度,保存分割完的字符;步骤⑥,将分割完的字符图像进行锐化;步骤⑦,根据切割字符的特征,训练模式识别软件;步骤⑧,使用模式识别软件,对分割后的字符进行识别,最后根据概率,以识别最多或概率最高的字符为识别结果。
2.根据权利要求1所述的字符粘连的图形验证码识别方法,其特征在于:所述步骤②的计算过程为,将图像二值化之后,会生成一个二值化矩阵,二值化矩阵为图像的像素点,每个像素点映射成矩阵里面的一个值,将矩阵垂直像素信息进行累加,即像素点不为空白+1,像素点为空白+0,最终求出图像的垂直投影,通过垂直投影,判断图片文字内容的宽度与文字之间的间隙。
3.根据权利要求1所述的字符粘连的图形验证码识别方法,其特征在于:所述的步骤④中,对于未粘连验证码,若属于普通字符,通过图像的垂直投影获取图像的边缘后提取,所述图像的边缘为投影值大小为0或小于设定值的地方,若属于特殊的倾斜字符,根据图像矩阵的排列,找寻像素连续为0的分界线进行图像提取。
4.根据权利要求1所述的字符粘连的图形验证码识别方法,其特征在于:步骤⑤所述的分割角为-30度,和/或是-20度,和/或是-10度,和/或是10度,和/或是20度,和/或是30度。
5.根据权利要求1所述的字符粘连的图形验证码识别方法,其特征在于:步骤⑦所述的训练为,通过Tesseract-OCR训练工具进行。
6.根据权利要求1所述的字符粘连的图形验证码识别方法,其特征在于:步骤⑧所述的识别过程由模式识别软件来完成,模式识别软件将返回识别概率最高的字符作为识别结果,或是采用模式识别接口来返回相应字符的识别概率。
CN201410496368.1A 2014-09-25 2014-09-25 字符粘连的图形验证码识别方法 Active CN104252620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410496368.1A CN104252620B (zh) 2014-09-25 2014-09-25 字符粘连的图形验证码识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410496368.1A CN104252620B (zh) 2014-09-25 2014-09-25 字符粘连的图形验证码识别方法

Publications (2)

Publication Number Publication Date
CN104252620A CN104252620A (zh) 2014-12-31
CN104252620B true CN104252620B (zh) 2017-06-06

Family

ID=52187500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410496368.1A Active CN104252620B (zh) 2014-09-25 2014-09-25 字符粘连的图形验证码识别方法

Country Status (1)

Country Link
CN (1) CN104252620B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732226A (zh) * 2015-03-31 2015-06-24 浪潮集团有限公司 一种字符识别方法和装置
CN105046140A (zh) * 2015-06-09 2015-11-11 苏州德锐朗智能科技有限公司 一种用于字符验证码的自动输入方法
CN105187443B (zh) * 2015-09-28 2018-03-06 上海斐讯数据通信技术有限公司 一种测试web验证码的系统及方法
CN107067006B (zh) * 2017-04-20 2022-03-18 金电联行(北京)信息技术有限公司 一种服务于数据采集的验证码识别方法及系统
CN107273890A (zh) * 2017-05-26 2017-10-20 亿海蓝(北京)数据技术股份公司 针对字符组合的图形验证码识别方法及装置
CN107292311A (zh) * 2017-08-10 2017-10-24 河南科技大学 一种基于神经网络的字符粘连验证码的识别方法
CN107688809B (zh) * 2017-08-28 2019-08-27 深圳壹账通智能科技有限公司 验证码识别方法、装置、计算机设备及计算机存储介质
CN107871128B (zh) * 2017-12-11 2023-06-06 广州市标准化研究院(广州市组织机构代码管理中心) 一种基于svg动态图表的高鲁棒性图像识别方法
CN108171229B (zh) * 2017-12-27 2021-11-16 广州多益网络股份有限公司 一种空心粘连验证码的识别方法及系统
CN108460387A (zh) * 2018-03-26 2018-08-28 国网安徽省电力有限公司检修分公司 智能电力表计抄录计算系统及方法
CN108564089B (zh) * 2018-04-24 2020-10-23 大连民族大学 满文部件集的构建方法
CN109101810B (zh) * 2018-08-14 2021-07-06 电子科技大学 一种基于ocr技术的文字验证码识别方法
CN110033004B (zh) * 2019-03-25 2021-01-05 广东奥普特科技股份有限公司 一种粘连字符的识别方法
CN111079762B (zh) * 2019-11-26 2022-02-08 合肥联宝信息技术有限公司 一种粘连字符的切割方法及电子设备
CN111259366B (zh) * 2020-01-22 2021-06-18 支付宝(杭州)信息技术有限公司 一种基于自监督学习的验证码识别器的训练方法和装置
CN111859354B (zh) * 2020-07-21 2023-09-01 百度在线网络技术(北京)有限公司 图片验证方法、装置、电子设备、存储介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236791A (zh) * 2011-07-14 2011-11-09 青岛海信网络科技股份有限公司 一种倾斜车牌的字符分割方法
CN102496013A (zh) * 2011-11-11 2012-06-13 苏州大学 用于脱机手写汉字识别的汉字字符切分方法
DE102011051934A1 (de) * 2011-07-19 2013-01-24 Wincor Nixdorf International Gmbh Verfahren und Vorrichtung zur OCR-Erfassung von Wertdokumenten mittels einer Matrixkamera
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236791A (zh) * 2011-07-14 2011-11-09 青岛海信网络科技股份有限公司 一种倾斜车牌的字符分割方法
DE102011051934A1 (de) * 2011-07-19 2013-01-24 Wincor Nixdorf International Gmbh Verfahren und Vorrichtung zur OCR-Erfassung von Wertdokumenten mittels einer Matrixkamera
CN102496013A (zh) * 2011-11-11 2012-06-13 苏州大学 用于脱机手写汉字识别的汉字字符切分方法
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法

Also Published As

Publication number Publication date
CN104252620A (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN104252620B (zh) 字符粘连的图形验证码识别方法
CN108171104B (zh) 一种文字检测方法及装置
CN105574513B (zh) 文字检测方法和装置
CN109919160B (zh) 验证码识别方法、装置、终端及存储介质
US9239948B2 (en) Feature descriptor for robust facial expression recognition
CN107832767A (zh) 集装箱箱号识别方法、装置及电子设备
CN111507994A (zh) 一种人像提取方法、人像提取装置及移动终端
CN107292311A (zh) 一种基于神经网络的字符粘连验证码的识别方法
US9785850B2 (en) Real time object measurement
CN106407980A (zh) 一种基于图像处理的银行卡号码识别方法
CN103489254B (zh) 彩票的识别方法及系统
CN109325492B (zh) 字符切割方法、装置、计算机设备及存储介质
JP2016072958A (ja) 文書画像における縦線および横線の検出および削除
CN105447508A (zh) 一种字符图像验证码识别的方法及系统
CN108171229B (zh) 一种空心粘连验证码的识别方法及系统
CN108830175A (zh) 虹膜图像局部增强方法、装置、设备及存储介质
CN105404868A (zh) 一种基于交互平台的复杂背景中文本的快速检测方法
CN103020634A (zh) 用于验证码识别的分割方法和装置
CN111860027A (zh) 二维码的识别方法及装置
CN109409227A (zh) 一种基于多通道cnn的手指静脉图质量评估方法及其装置
CN113159045A (zh) 一种结合图像预处理与卷积神经网络的验证码识别方法
CN115909353A (zh) 一种图像二值化处理方法和装置
CN107742357A (zh) 一种纸币冠字号的识别方法及装置
CN104598900A (zh) 一种人体识别方法以及装置
US9684984B2 (en) Nearsighted camera object detection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant