CN105426890B - 一种字符扭曲粘连的图形验证码识别方法 - Google Patents
一种字符扭曲粘连的图形验证码识别方法 Download PDFInfo
- Publication number
- CN105426890B CN105426890B CN201510756878.2A CN201510756878A CN105426890B CN 105426890 B CN105426890 B CN 105426890B CN 201510756878 A CN201510756878 A CN 201510756878A CN 105426890 B CN105426890 B CN 105426890B
- Authority
- CN
- China
- Prior art keywords
- character
- matching
- identifying code
- picture
- template
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种针对字符扭曲粘连的图形验证码识别方法,首先获取一定量的验证码图片以准备模板字符集,然后将待识别的验证码图片进行二值化以后用模板字符集中的每张字符图片在待识别的验证码图片上滑动,找出相似度最高的K张模板字符,并记录这K个字符最相似时所对应的位置,然后按照相同的识别方法从所记录的位置开始继续进行验证码图片剩下部分的识别。最后计算匹配的模板字符图片与整个验证码图片的相似度。最终将得到相似度最高的匹配方式作为验证码识别的最终结果。
Description
技术领域
本发明属于图像识别技术领域,更为具体地讲,涉及一种字符扭曲粘连的图形验证码识别方法。
背景技术
验证码(CAPTCHA)是“Completely Automated Public Turing test to tellComputers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。研究验证码识别技术则是人工智能的范畴,通过对验证码识别技术的研究,使机器能够达到人眼的识别效果,这对于人工智能的发展具有很大的推动作用。同时从事大数据分析的科研机构和科研人员需要获取网上大量的数据以进行科学研究,然而验证码的存在阻碍了数据的顺利获取,验证码识别技术的发展有利于摆脱这种困境,从而推动大数据分析相关技术的发展。
验证码的种类比较多,主要有基于图像模式,基于文本模式和基于语音模式三种。而最广泛使用的是基于文本模式的验证码。它通过对验证码中的文本字符进行扭曲,变形以及增加噪音来阻止验证码中的文本内容被机器人程序通过模式识别的方式进行识别。基于文本模式的验证码最初只由包含简单的数字的图片组成。文本中的字符没有扭曲变形等,字符没有背景图片和噪音。但是这种验证码没有存在多久就被机器人程序自动识别。自从验证码出现,识别技术和反识别技术就竞相竞赛。一方面,由于识别技术发展,推动验证码越来越复杂,以至于出现人眼难以识别的验证码。另一方面,出于各方面的需求,验证码的识别技术也越来越成熟,成为了推动图形学和图像处理技术发展的一股重要的力量。
验证码识别的瓶颈在于字符的分割,随着手写体识别技术的不断发展,很多算法对于单字符识别准确度都达到了90%以上,我们知道手写体的扭曲有很大的随机性,这和验证码如出一辙,所以这些技术可以直接用于验证码单字符的识别,单字符识别算法中,比较成熟且准确率较高的有BP神经网络,卷积神经网络,支持向量机等。如果我们能找到一种算法将相互粘连的字符准确的分开,则验证码识别准确率将得到质的提升。但遗憾的是,至今没能找到一种通用的算法可以将粘连的字符准确分开,多年来研究人员提出了很多字符分割算法,比如颜色填充法,投影直方图分割法,基于背景的细化算法,滴水算法。但效果都不理想。
发明内容
本发明的目的就为了解决字符粘连的验证码识别。由于字符切割的效果不好,我们提出一种基于滑动窗口的验证码识别算法。
本发明的验证码识别算法,包括以下步骤:
1.获取一定量的验证码图片,人工将这些验证码图片中的单个字符分割出来(识别的时候不需要分割),并放入文件夹,相同的字符放入相同的文件夹,文件夹以字符的名字命名。这样便得到了模板字符集。
2.对于待识别的验证码,首先将其转换为灰度图,并除去图片边缘空白的部分,然后用大津算法提取图片的前景,并将图片像素二值化。
3.假设验证码中有N个字符,我们先从左右向识别前个字符,首先识别第一个字符,方法是遍历每种字符的模板字符集,让每张模板字符图片在待识别验证码图片上的一定范围内滑动,每滑动一个位置,计算模板图片与滑动窗口区域的相似度。找出相似度最高时对应的模板图片,并记录第一个字符匹配每类字符时相似度的最大值及对应的滑动窗口的位置。将各类字符相似度的最大值进行排序,取出相似度最高的前K种匹配,并将这K种匹配的匹配状态记录下来。
4.从左往右匹配时,对于前面字符匹配的K种匹配状态的每种匹配状态,分别以其为起点匹配验证码的下一个字符,匹配方法与第一个字符相似,同样保存K种匹配状态,根据乘法原理,可得到前N/2个字符的种匹配方式。
5.然后从右向左匹配,先匹配最后一个字符,方法与匹配第一个字符类似,得到最相似的K种匹配字符。并将这K种匹配的匹配状态记录下来。
6.从右向左匹配时,对于前面字符匹配的K种匹配状态的每种匹配状态分别以其为起点匹配验证码的下一个字符。每种起始状态保存K种最优的匹配。根据乘法原理,可得到后个字符的种匹配方式。
7.为了将匹配误差降到最低,采用左右字符轮流匹配的方式,即从最左边开始匹配第一个字符,然后从右边开始匹配最后一个字符,再从左边开始匹配第二个字符,再从右边开始匹配倒数第二个字符,以此类推,直到所有字符匹配完毕。
8.经过前面的处理,我们可得到待识别验证码图片N个字符对应的相似度最高的KN种匹配方式。对于每一种匹配方式,计算N个模板字符图片与整个验证码图片的相似度。最终将得到相似度最高的匹配方式作为验证码识别的最终结果。
附图说明
图1是本发明所涉及的验证码识别方法的流程图;
图2为验证码原始图像;
图3为灰度化并切除白边后图像;
图4为放大后的第一个字符匹配示意图;
图5为放大后的第二个字符匹配示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
1.获取一定量的验证码图片,本实施例中要识别的验证码图片中的字符是字母或数字,共需识别四个字符。人工将这些验证码图片中的单个字符分割出来(识别的时候不需要分割),并放入文件夹,相同字符的模板图片放入相同的文件夹,文件夹以字符的名字命名,比如a,b,c..1,2,3...,由于验证码不区分大小写,所以同一个字母的大、小写模板放在同一个文件夹中,这样便得到了36个字符的模板图片集。
2.待识别验证码图片为三通道彩色图像,为了便于处理,采用以下步骤将验证码图片进行二值化处理。
2.1首先将其按公式Gray=R*0.299+G*0.587+B*0.114转换为灰度图,然后在待识别验证码图片上通过横向扫描和竖向扫描得到验证码图片的最小外接矩形后去除矩形外图片边缘空白部分。原始图像及灰度化并切除白边后的图像见说明书附图图2、图3.
2.2再采用大津法提取图片的前景,并将图片像素二值化。对于图像I(x,y),前景(即目标)和背景的分割阈值记作T。由于验证码图片背景为白色,灰度值较大,故灰度小于T的为前景,灰度大于T的为背景。属于前景的像素点数占整幅图像的比例记为ω0,其平均灰度μ0,背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1。图像的总平均灰度记为μ,类间方差记为g。验证码图片大小为200×70,其中中像素的灰度值小于阈值T的像素个数记作N0,像素灰度大于阈值T的像素个数记作N1,则有:
ω0=N0/14000 (1)
ω1=N1/14000 (2)
我们的目标是最大化g,即
g=ω0ω1(μ0-μ1)^2 (3)
从0到255遍历阈值T,计算相应的类间方差g,得到类间方差g达到最大时对应的阈值T,该阈值则为最佳分割阈值。利用得到的阈值将图像转换为二值图像。
3.针对上一步处理得到的二值化后的待识别验证码图片,从左往右,先识别第一个字符,方法是遍历每种字符的模板字符集,让每张模板字符图片从待识别验证码图片左上角开始向右及向下滑动,其中最多向右滑动2个像素,向下滑动至验证码底部。每滑动一下,应用类海明距离计算模板图片与验证码当前滑动窗口区域相似度(距离越小相似度越高),可得到36种字符匹配验证码各自对应的最大相似度及其与验证码图片匹配的位置,记录相似度最高的前5个字符匹配对应的模板图片及其与验证码图片匹配的位置。距离计算公式为公式(4)
其中n1为滑动窗口上方遗留的黑色点数,n2为滑动窗口上方遗留的黑色点数,n3为滑动窗口左边遗留的黑色点数,n4为滑动窗口区域与模板图片不同的像素点数,s为模板图片的大小即行数乘列数,将n3、n4的权重设为2,作为这两个区域不匹配的惩罚因子。放大后的具体匹配示意图如图4所示。
4.对于前面匹配第一个字符的5种匹配状态的每种匹配状态,分别以其为起点匹配验证码的第二个字符,匹配前将第一个字符正确匹配的像素点擦除。滑动起点为匹配第一个字符的滑动窗口右边界左移5个像素,此时向右最大滑动距离为8个像素。距离公式与匹配第一个字符相同,但左边黑点的统计从匹配起点开始。同样保存5种匹配状态,根据乘法原理,可得到待识别验证码图片中前两个字符的25种匹配方式。放大后的具体匹配示意图如图5所示,虚线为匹配起始列。
5.匹配待识别验证码图片第四个字符,方法与匹配第一个字符类似,只是滑动方向由从左往右变成从右往左,得到最相似的5种匹配方式。
6.分别以第四个字符的5种匹配方式为起点匹配第三个字符,方法与匹配第二个字符类似,每种起始状态保存5种最优的匹配,可得到后两个字符的25种匹配方式,。
7.经过前面的处理,我们可得到匹配待识别验证码图片四个字符共5*5*5*5种匹配方式。对于每一种匹配方式,计算四个模板字符图片与整个验证码图片的相似度。方法为用模板四个模板字符依次匹配验证码,并擦除匹配上的前景像素点即颜色为黑色的点,最后统计剩下的前景点数,最终得到剩下前景点数最少的匹配字符串即相似度最高的匹配字符串,将其作为识别的最终结果。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种字符扭曲粘连的图形验证码识别方法,其特征在于,包括以下步骤:
(1)、获取一定量的验证码图片,人工将这些验证码图片中的单个字符分割出来,并放入文件夹,相同的字符放入相同的文件夹,文件夹以字符的名字命名,这样便得到了模板字符集;
(2)、对于待识别的验证码,首先将其转换为灰度图,并除去图片边缘空白的部分,然后用大津算法提取图片的前景,并将图片像素二值化;
(3)、假设验证码中有N个字符,我们先从左向右识别前个字符,首先识别第一个字符,方法是遍历每种字符的模板字符集,让每张模板字符图片在待识别验证码图片上的一定范围内滑动,每滑动一个位置,计算模板字符图片与滑动窗口区域的相似度,找出相似度最高时对应的模板字符图片,并记录第一个字符匹配每类字符时相似度的最大值及对应的滑动窗口的位置;将各类字符相似度的最大值进行排序,取出相似度最高的前K种匹配,并将这K种匹配的匹配状态记录下来;
(4)、从左往右匹配时,对于前面字符匹配的K种匹配状态的每种匹配状态,分别以其为起点匹配验证码的下一个字符,匹配方法与第一个字符相同,同样保存K种匹配状态,根据乘法原理,可得到前N/2个字符的种匹配方式;
(5)、从右往左匹配时,先匹配最后一个字符,方法与匹配第一个字符相同,只是滑动方向由从左往右变成从右往左,得到最相似的K种匹配字符;
(6)、从右向左匹配时,对于前面字符匹配的K种匹配状态的每种匹配状态分别以其为起点匹配验证码的下一个字符,每种起始状态保存K种最优的匹配;根据乘法原理,可得到后个字符的种匹配方式;
(7)、为了将匹配误差降到最低,采用左右字符轮流匹配的方式,即从最左边开始匹配第一个字符,然后从右边开始匹配最后一个字符,再从左边开始匹配第二个字符,再从右边开始匹配倒数第二个字符,以此类推,直到所有字符匹配完毕;
(8)经过前面的处理,我们可得到待识别验证码图片N个字符对应的相似度最高的KN种匹配方式;对于每一种匹配方式,计算N个模板字符图片与整个验证码图片的相似度,最终将得到相似度最高的匹配方式作为验证码识别的最终结果。
2.根据权利要求1所述的字符扭曲粘连的图形验证码识别方法,其特征在于,准备足够的模板字符集,在识别过程中通过移动模板字符集中的模板字符图片对验证码图片进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510756878.2A CN105426890B (zh) | 2015-11-09 | 2015-11-09 | 一种字符扭曲粘连的图形验证码识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510756878.2A CN105426890B (zh) | 2015-11-09 | 2015-11-09 | 一种字符扭曲粘连的图形验证码识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426890A CN105426890A (zh) | 2016-03-23 |
CN105426890B true CN105426890B (zh) | 2018-12-18 |
Family
ID=55505089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510756878.2A Active CN105426890B (zh) | 2015-11-09 | 2015-11-09 | 一种字符扭曲粘连的图形验证码识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426890B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022328A (zh) * | 2016-05-11 | 2016-10-12 | 上海应用技术学院 | 复杂验证码的识别方法 |
CN106682698A (zh) * | 2016-12-29 | 2017-05-17 | 成都数联铭品科技有限公司 | 基于模板匹配的ocr识别方法 |
CN108320373B (zh) * | 2017-01-17 | 2020-07-24 | 深圳怡化电脑股份有限公司 | 一种纸币防伪标识的检测的方法及装置 |
CN107273890A (zh) * | 2017-05-26 | 2017-10-20 | 亿海蓝(北京)数据技术股份公司 | 针对字符组合的图形验证码识别方法及装置 |
CN107688809B (zh) * | 2017-08-28 | 2019-08-27 | 深圳壹账通智能科技有限公司 | 验证码识别方法、装置、计算机设备及计算机存储介质 |
CN107506767B (zh) * | 2017-09-22 | 2021-04-30 | 江苏海事职业技术学院 | 一种图片内数字粘连识别的方法和装置 |
CN110490056A (zh) * | 2019-07-08 | 2019-11-22 | 北京三快在线科技有限公司 | 对包含算式的图像进行处理的方法和装置 |
CN111160369B (zh) * | 2019-12-25 | 2024-03-05 | 携程旅游信息技术(上海)有限公司 | 破解汉字验证码的方法、系统、电子设备及存储介质 |
CN111291794A (zh) * | 2020-01-21 | 2020-06-16 | 上海眼控科技股份有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738518B1 (en) * | 2000-05-12 | 2004-05-18 | Xerox Corporation | Document image decoding using text line column-based heuristic scoring |
CN102314615A (zh) * | 2011-07-30 | 2012-01-11 | 山东电力研究院 | 基于变电站巡检机器人的断路器状态模板匹配识别方法 |
CN103268489A (zh) * | 2013-05-29 | 2013-08-28 | 电子科技大学 | 基于滑窗搜索的机动车号牌识别方法 |
CN104200204A (zh) * | 2014-09-02 | 2014-12-10 | 福建富士通信息软件有限公司 | 一种图片处理装置及方法 |
CN104899588A (zh) * | 2015-06-26 | 2015-09-09 | 小米科技有限责任公司 | 识别图像中的字符的方法及装置 |
-
2015
- 2015-11-09 CN CN201510756878.2A patent/CN105426890B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738518B1 (en) * | 2000-05-12 | 2004-05-18 | Xerox Corporation | Document image decoding using text line column-based heuristic scoring |
CN102314615A (zh) * | 2011-07-30 | 2012-01-11 | 山东电力研究院 | 基于变电站巡检机器人的断路器状态模板匹配识别方法 |
CN103268489A (zh) * | 2013-05-29 | 2013-08-28 | 电子科技大学 | 基于滑窗搜索的机动车号牌识别方法 |
CN104200204A (zh) * | 2014-09-02 | 2014-12-10 | 福建富士通信息软件有限公司 | 一种图片处理装置及方法 |
CN104899588A (zh) * | 2015-06-26 | 2015-09-09 | 小米科技有限责任公司 | 识别图像中的字符的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105426890A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426890B (zh) | 一种字符扭曲粘连的图形验证码识别方法 | |
CN109241894B (zh) | 一种基于表格定位和深度学习的票据内容识别系统和方法 | |
Shahab et al. | ICDAR 2011 robust reading competition challenge 2: Reading text in scene images | |
CN110032938B (zh) | 一种藏文识别方法、装置及电子设备 | |
CN102663378B (zh) | 连笔手写字符的识别方法 | |
CN104463250B (zh) | 一种基于达芬奇技术的手语识别翻译方法 | |
WO2019169532A1 (zh) | 车牌识别方法及云系统 | |
CN110969129B (zh) | 一种端到端税务票据文本检测与识别方法 | |
CN101290659B (zh) | 基于组合分类器的手写识别方法 | |
WO2017016240A1 (zh) | 一种钞票冠字号识别方法 | |
CN102855461B (zh) | 在图像中检测手指的方法及设备 | |
CN103971102A (zh) | 基于手指轮廓和决策树的静态手势识别方法 | |
CN104809481A (zh) | 一种基于自适应色彩聚类的自然场景文本检测的方法 | |
CN107480585B (zh) | 基于dpm算法的目标检测方法 | |
Calvo-Zaragoza et al. | Avoiding staff removal stage in optical music recognition: application to scores written in white mensural notation | |
CN111046886A (zh) | 号码牌自动识别方法、装置、设备及计算机可读存储介质 | |
CN109086772A (zh) | 一种扭曲粘连字符图片验证码的识别方法及系统 | |
CN107622271A (zh) | 手写文本行提取方法及系统 | |
CN112651323B (zh) | 一种基于文本行检测的中文手写体识别方法及系统 | |
CN116645705A (zh) | 基于轻量化网络的近红外掌静脉roi提取方法及系统 | |
CN115240210A (zh) | 一种用于手写汉字辅助练习的系统及方法 | |
Wicht et al. | Camera-based sudoku recognition with deep belief network | |
Bosch et al. | Semiautomatic text baseline detection in large historical handwritten documents | |
Valy et al. | Line segmentation for grayscale text images of khmer palm leaf manuscripts | |
CN109583423A (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: The inventor has waived the right to be mentioned Inventor before: The inventor has waived the right to be mentioned |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 610041 No. 270, floor 2, No. 8, Jinxiu street, Wuhou District, Chengdu, Sichuan Patentee after: Chengdu shuzhilian Technology Co.,Ltd. Address before: No.2, floor 4, building 1, Jule road crossing, Section 1, West 1st ring road, Wuhou District, Chengdu City, Sichuan Province 610041 Patentee before: CHENGDU SHUZHILIAN TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |