CN109101810A - 一种基于ocr技术的文字验证码识别方法 - Google Patents

一种基于ocr技术的文字验证码识别方法 Download PDF

Info

Publication number
CN109101810A
CN109101810A CN201810920802.2A CN201810920802A CN109101810A CN 109101810 A CN109101810 A CN 109101810A CN 201810920802 A CN201810920802 A CN 201810920802A CN 109101810 A CN109101810 A CN 109101810A
Authority
CN
China
Prior art keywords
character
connected domain
image
picture
sliding window
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.)
Granted
Application number
CN201810920802.2A
Other languages
English (en)
Other versions
CN109101810B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810920802.2A priority Critical patent/CN109101810B/zh
Publication of CN109101810A publication Critical patent/CN109101810A/zh
Application granted granted Critical
Publication of CN109101810B publication Critical patent/CN109101810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • G06V30/1478Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

该发明公开了一种基于OCR技术的文字验证码识别方法,涉及一种基于OCR技术的文字验证码识别技术,属于信息检索领域,特别是在网络爬虫领域和搜索引擎领域。针对网站常见的字符图像验证码设计的一种基于光学字符识别技术的验证码识别方法。本发明通过截取网络识别码图像,对图像进行去噪处理,处理后进行识别,可以准确高效的识别网络中常见的字符验证码,识别正确率高达92.3%,可以处理验证码中常见的字符旋转,噪声和干扰线等反爬虫手段,可以达到实时识别的效果。

Description

一种基于OCR技术的文字验证码识别方法
技术领域
本发明涉及一种基于OCR(Optical Character Recognition)技术的文字验证码识别技术,属于信息检索领域,特别是在网络爬虫领域和搜索引擎领域。
背景技术
网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,网络爬虫技术在很多领域有着广泛的应用,如搜索引擎,大数据分析与挖掘,互联网金融等。网络爬虫可以并行地对网页进行抓取,高并发的爬虫会增大服务器的负载,因此很多网站都采取了各种反爬虫策略来防御恶意的网络机器人程序,例如传播垃圾邮件、论坛自动发帖及自动注册和暴力破解系统登录等。全自动区分计算机和人类的图灵测试(CAPTCHA,Completely Automated Public Turing test to tell Computers and Humans Apart)是最常见的反爬虫手段,验证码的运行是基于一个专门负责产生和评估验证码校验的程序,该程序部署在服务器端或者是客户端的一个JS脚本。目前互联网应用使用最广泛的是文本和图像验证码,即生成一串字符的图像,通过校验用户的输入来判断用户是否为机器人。验证码识别是网络爬虫的一个关键技术,其研究成果具有很高的应用价值。
发明内容
本发明的目的是针对网站常见的字符图像验证码设计的一种基于光学字符识别技术的验证码识别方法。
本发明分析常见验证码的特征,针对验证码中的中英文和数字字符,采取先分割再识别的方法,对字符验证码进行识别。本发明技术方案为一种基于OCR技术的文字验证码识别方法,该方法包括如下步骤:
步骤1:获得验证码图片;
在获得网站响应后,检索网页源代码中是否存在“captchas”关键字,如果有则在关键字周围检索图片链接,获得验证码图像地址,跳转到该地址,得到验证码图片,将图片保存到本地;
步骤2:将图片转为灰度图,去除随机噪声;根据实际情况设定随机噪声判断阈值N1,计算像素点4邻域或者8邻域的像素平均灰度值,与图像底色的平均灰度值进行比较,若差值大于随机噪声判断阈值N1则认为该像素点为随机噪声,将该像素点置为背景;
步骤3:对图片进行二值化操作,二值化的阈值为图片的平均灰度值,进行连通域统计,并将面积小于设定阈值N2的连通域置为背景;
步骤4:去除干扰线,将干扰线的连通域内像素值置为背景;
步骤4.1:去除独立干扰线;
将二值化图像中的各连通域进行纵向和横向投影,若纵向和横向投影长度的比值大于设定的比值上限小于设定的比值下限这认为该连通域为干扰线,比值上限和比值下限根据实际情况确定;
步骤4.2:去除粘连干扰线;
设定滑窗大小,滑窗的高度为图像的高度,滑窗的宽度和步长根据实际情况确定;滑窗从图像左侧开始滑动,计算每次滑窗内连通域的个数和总面积,若连通域个数小于等于2,总面积小于设定面积阈值N3,则认为该滑窗内的连通域为粘连干扰线;
步骤5:对去除干扰的连通域进行膨胀腐蚀后再进行边缘平滑处理;
步骤6:字符分割;
将步骤5得到的二值化图像中各连通域进行单独提取,认定每个连通域为一个字符;
步骤7:对得到的各字符进行偏移校正;
对各字符的旋转,计算字符每次旋转后最左边像素点和最右边像素点的距离,其中距离最小时的字符为偏移校正后的字符;
步骤8:字符识别;
对偏移校正后的字符进行归一化处理,然后采用主成分分析算法提取字符图片的主成分作为特征,然后训练SVM分类器,实现验证码字符的识别。
进一步的,所述步骤2中随机噪声判断阈值的范围为1到5,步骤3中设定的阈值N2的范围为2到10。
进一步的,所述步骤4.1中比值上线的范围为1.3到1.5,比值下线的范围为1到1.2。
进一步的,所述步骤4.2中滑窗的宽度范围为3到5,步长范围为1到3,设定面积阈值N3范围为5到8。
本发明可以准确高效的识别网络中常见的字符验证码,识别正确率高达92.3%,可以处理验证码中常见的字符旋转,噪声和干扰线等反爬虫手段,可以达到实时识别的效果。
附图说明
图1为本发明流程图;
图2是网络上常见的字符图像验证码;
图3为灰度化后的验证码;
图4为二值化后的验证码;
图5为去噪后的验证码图像。
具体实施方式
下面详细说明四个步骤的过程。
本发明分析常见验证码的特征,针对验证码中的中英文和数字字符,采取先分割再识别的方法,对字符验证码进行识别。本发明方法包含如下步骤:
具体实施例1
步骤1:获得验证码图片;
在获得网站响应后,检索网页源代码中是否存在“captchas”关键字,如果有则在关键字周围检索图片链接,获得验证码图像地址,跳转到该地址,得到验证码图片,将图片保存到本地;
步骤2:将图片转为灰度图,去除随机噪声;根据实际情况设定随机噪声判断阈值3,计算像素点4邻域或者8邻域的像素平均灰度值,与图像底色的平均灰度值进行比较,若差值大于随机噪声判断阈值则认为该像素点为噪声,将该像素点置为背景;
步骤3:对图片进行二值化操作,二值化的阈值为图片的平均灰度值,进行连通域统计,并将面积小于设定阈值5的连通域置为背景;
步骤4:去除干扰线,将干扰线的连通域内像素值置为背景;
步骤4.1:去除独立干扰线;
将二值化图像中的各连通域进行纵向和横向投影,若纵向和横向投影长度的比值大于设定的比值上限1.3小于设定的比值下限1则认为该连通域为干扰线;
步骤4.2:去除粘连干扰线;
设定滑窗大小,滑窗的高度为图像的高度,滑窗的宽度为3和步长根据实际情况设定为2;滑窗从图像左侧开始滑动,计算每次滑窗内连通域的个数和面积总和,若连通域个数小于等于2,面积小于设定阈值5,则认为该滑窗内的连通域为粘连干扰线;
步骤5:对去除干扰的连通域进行膨胀腐蚀后再进行边缘平滑处理;
步骤6:字符分割;
将步骤5得到的二值化图像中各连通域进行单独提取,认定每个连通域为一个字符;
步骤7:对得到的各字符进行偏移校正;
对各字符的旋转,计算字符每次旋转后最左边像素点和最右边像素点的距离,其中距离最小时的字符为偏移校正后的字符;
步骤8:字符识别;
对偏移校正后的字符进行归一化处理,然后采用主成分分析算法提取字符图片的主成分作为特征,然后训练SVM分类器,实现验证码字符的识别。
具体实施例2
步骤1:获得验证码图片;
在获得网站响应后,检索网页源代码中是否存在“captchas”关键字,如果有则在关键字周围检索图片链接,获得验证码图像地址,跳转到该地址,得到验证码图片,将图片保存到本地;
步骤2:将图片转为灰度图,去除随机噪声;根据实际情况设定随机噪声判断阈值5,计算像素点4邻域或者8邻域的像素平均灰度值,与图像底色的平均灰度值进行比较,若差值大于随机噪声判断阈值则认为该像素点为噪声,将该像素点置为背景;
步骤3:对图片进行二值化操作,二值化的阈值为图片的平均灰度值,进行连通域统计,并将面积小于设定阈值9的连通域置为背景;
步骤4:去除干扰线,将干扰线的连通域内像素值置为背景;
步骤4.1:去除独立干扰线;
将二值化图像中的各连通域进行纵向和横向投影,若纵向和横向投影长度的比值大于设定的比值上限1.4小于设定的比值下限1.1则认为该连通域为干扰线;
步骤4.2:去除粘连干扰线;
设定滑窗大小,滑窗的高度为图像的高度,滑窗的宽度为5和步长根据实际情况设定为3;滑窗从图像左侧开始滑动,计算每次滑窗内连通域的个数和面积总和,若连通域个数小于等于2,面积小于设定阈值5,则认为该滑窗内的连通域为粘连干扰线;
步骤5:对去除干扰的连通域进行膨胀腐蚀后再进行边缘平滑处理;
步骤6:字符分割;
将步骤5得到的二值化图像中各连通域进行单独提取,认定每个连通域为一个字符;
步骤7:对得到的各字符进行偏移校正;
对各字符的旋转,计算字符每次旋转后最左边像素点和最右边像素点的距离,其中距离最小时的字符为偏移校正后的字符;
步骤8:字符识别;
对偏移校正后的字符进行归一化处理,然后采用主成分分析算法提取字符图片的主成分作为特征,然后训练SVM分类器,实现验证码字符的识别。

Claims (4)

1.一种基于OCR技术的文字验证码识别方法,该方法包括如下步骤:
步骤1:获得验证码图片;
在获得网站响应后,检索网页源代码中是否存在“captchas”关键字,如果有则在关键字周围检索图片链接,获得验证码图像地址,跳转到该地址,得到验证码图片,将图片保存到本地;
步骤2:将图片转为灰度图,去除随机噪声;根据实际情况设定随机噪声判断阈值N1,计算像素点4邻域或者8邻域的像素平均灰度值,与图像底色的平均灰度值进行比较,若差值大于随机噪声判断阈值N1则认为该像素点为随机噪声,将该像素点置为背景;
步骤3:对图片进行二值化操作,二值化的阈值为图片的平均灰度值,进行连通域统计,并将面积小于设定阈值N2的连通域置为背景;
步骤4:去除干扰线,将干扰线的连通域内像素值置为背景;
步骤4.1:去除独立干扰线;
将二值化图像中的各连通域进行纵向和横向投影,若纵向和横向投影长度的比值大于设定的比值上限小于设定的比值下限这认为该连通域为干扰线,比值上限和比值下限根据实际情况确定;
步骤4.2:去除粘连干扰线;
设定滑窗大小,滑窗的高度为图像的高度,滑窗的宽度和步长根据实际情况确定;滑窗从图像左侧开始滑动,计算每次滑窗内连通域的个数和总面积,若连通域个数小于等于2,总面积小于设定面积阈值N3,则认为该滑窗内的连通域为粘连干扰线;
步骤5:对去除干扰的连通域进行膨胀腐蚀后再进行边缘平滑处理;
步骤6:字符分割;
将步骤5得到的二值化图像中各连通域进行单独提取,认定每个连通域为一个字符;
步骤7:对得到的各字符进行偏移校正;
对各字符的旋转,计算字符每次旋转后最左边像素点和最右边像素点的距离,其中距离最小时的字符为偏移校正后的字符;
步骤8:字符识别;
对偏移校正后的字符进行归一化处理,然后采用主成分分析算法提取字符图片的主成分作为特征,然后训练SVM分类器,实现验证码字符的识别。
2.如权利要求1所述的一种基于OCR技术的文字验证码识别方法,其特征在于所述步骤2中随机噪声判断阈值的范围为1到5,步骤3中设定的阈值N2的范围为2到10。
3.如权利要求1所述的一种基于OCR技术的文字验证码识别方法,其特征在于所述步骤4.1中比值上线的范围为1.3到1.5,比值下线的范围为1到1.2。
4.如权利要求1所述的一种基于OCR技术的文字验证码识别方法,其特征在于所述步骤4.2中滑窗的宽度范围为3到5,步长范围为1到3,设定面积阈值N3范围为5到8。
CN201810920802.2A 2018-08-14 2018-08-14 一种基于ocr技术的文字验证码识别方法 Active CN109101810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810920802.2A CN109101810B (zh) 2018-08-14 2018-08-14 一种基于ocr技术的文字验证码识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810920802.2A CN109101810B (zh) 2018-08-14 2018-08-14 一种基于ocr技术的文字验证码识别方法

Publications (2)

Publication Number Publication Date
CN109101810A true CN109101810A (zh) 2018-12-28
CN109101810B CN109101810B (zh) 2021-07-06

Family

ID=64849508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810920802.2A Active CN109101810B (zh) 2018-08-14 2018-08-14 一种基于ocr技术的文字验证码识别方法

Country Status (1)

Country Link
CN (1) CN109101810B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948621A (zh) * 2019-03-20 2019-06-28 南京工业大学 一种基于图片验证码的图像处理与字符分割方法
CN110414592A (zh) * 2019-07-24 2019-11-05 西安工业大学 一种基于多任务学习的数字验证码识别方法
CN110765442A (zh) * 2019-09-30 2020-02-07 奇安信科技集团股份有限公司 一种识别验证图片中验证码的方法、装置及电子设备
CN111986117A (zh) * 2020-08-31 2020-11-24 南京大学 一种算术作业批改系统及方法
CN112686266A (zh) * 2021-01-11 2021-04-20 安徽希施玛数据科技有限公司 一种验证码识别方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN104021376A (zh) * 2014-06-05 2014-09-03 北京乐动卓越科技有限公司 验证码识别方法和装置
CN104252620A (zh) * 2014-09-25 2014-12-31 同程网络科技股份有限公司 字符粘连的图形验证码识别方法
US20150347836A1 (en) * 2014-05-30 2015-12-03 Kofax, Inc. Machine print, hand print, and signature discrimination
CN106446897A (zh) * 2016-09-09 2017-02-22 浪潮软件股份有限公司 一种空心验证码的识别方法
CN107122653A (zh) * 2017-05-11 2017-09-01 湖南星汉数智科技有限公司 一种图片验证码处理方法及装置
CN107292311A (zh) * 2017-08-10 2017-10-24 河南科技大学 一种基于神经网络的字符粘连验证码的识别方法
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108171229A (zh) * 2017-12-27 2018-06-15 广州多益网络股份有限公司 一种空心粘连验证码的识别方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
US20150347836A1 (en) * 2014-05-30 2015-12-03 Kofax, Inc. Machine print, hand print, and signature discrimination
CN104021376A (zh) * 2014-06-05 2014-09-03 北京乐动卓越科技有限公司 验证码识别方法和装置
CN104252620A (zh) * 2014-09-25 2014-12-31 同程网络科技股份有限公司 字符粘连的图形验证码识别方法
CN106446897A (zh) * 2016-09-09 2017-02-22 浪潮软件股份有限公司 一种空心验证码的识别方法
CN107122653A (zh) * 2017-05-11 2017-09-01 湖南星汉数智科技有限公司 一种图片验证码处理方法及装置
CN107292311A (zh) * 2017-08-10 2017-10-24 河南科技大学 一种基于神经网络的字符粘连验证码的识别方法
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108171229A (zh) * 2017-12-27 2018-06-15 广州多益网络股份有限公司 一种空心粘连验证码的识别方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
L. LIZHAO等: ""Design and implementation of verification code identification based on anisotropic heat kernel"", 《SECURITY SCHEMES AND SOLUTIONS》 *
侯玉锋: ""粘连字符验证码识别的关键技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
韩立明等: ""车牌识别中关键技术的研究与实现"", 《计算机工程与设计》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948621A (zh) * 2019-03-20 2019-06-28 南京工业大学 一种基于图片验证码的图像处理与字符分割方法
CN110414592A (zh) * 2019-07-24 2019-11-05 西安工业大学 一种基于多任务学习的数字验证码识别方法
CN110765442A (zh) * 2019-09-30 2020-02-07 奇安信科技集团股份有限公司 一种识别验证图片中验证码的方法、装置及电子设备
CN111986117A (zh) * 2020-08-31 2020-11-24 南京大学 一种算术作业批改系统及方法
CN112686266A (zh) * 2021-01-11 2021-04-20 安徽希施玛数据科技有限公司 一种验证码识别方法及装置

Also Published As

Publication number Publication date
CN109101810B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
Tang et al. Research on deep learning techniques in breaking text-based captchas and designing image-based captcha
CN109101810A (zh) 一种基于ocr技术的文字验证码识别方法
Bursztein et al. Text-based CAPTCHA strengths and weaknesses
CN106951832B (zh) 一种基于手写字符识别的验证方法及装置
Gao et al. Research on the security of microsoft’s two-layer captcha
US10146994B2 (en) Method and apparatus for generating text line classifier
Bursztein et al. The end is nigh: Generic solving of text-based {CAPTCHAs}
Hill et al. On the (in) effectiveness of mosaicing and blurring as tools for document redaction
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
Baird et al. Pessimalprint: a reverse turing test
Baecher et al. Breaking reCAPTCHA: a holistic approach via shape recognition
US8885931B2 (en) Mitigating use of machine solvable HIPs
Chen et al. A Survey on Breaking Technique of Text‐Based CAPTCHA
Cruz-Perez et al. Breaking reCAPTCHAs with unpredictable collapse: Heuristic character segmentation and recognition
CN110866238B (zh) 基于对抗样本的验证码图像的生成方法
Gao et al. Divide and conquer: an efficient attack on Yahoo! CAPTCHA
Khan et al. Cyber security using arabic captcha scheme.
Novák et al. Recognition of damaged letters based on mathematical fuzzy logic analysis
Das et al. Multi‐script versus single‐script scenarios in automatic off‐line signature verification
Li et al. Multilingual text detection with nonlinear neural network
Dhanikonda et al. An efficient deep learning model with interrelated tagging prototype with segmentation for telugu optical character recognition
Wang et al. A self-adaptive algorithm to defeat text-based CAPTCHA
Mishra et al. Oriya Character recognition using neural networks
Sakkatos et al. Analysis of text-based CAPTCHA images using Template Matching Correlation technique
Hussain et al. Recognition of merged characters in text based CAPTCHAs

Legal Events

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