CN106469267B - 一种验证码样本收集方法及*** - Google Patents
一种验证码样本收集方法及*** Download PDFInfo
- Publication number
- CN106469267B CN106469267B CN201510513830.9A CN201510513830A CN106469267B CN 106469267 B CN106469267 B CN 106469267B CN 201510513830 A CN201510513830 A CN 201510513830A CN 106469267 B CN106469267 B CN 106469267B
- Authority
- CN
- China
- Prior art keywords
- sample image
- image
- processing
- sample
- handwritten font
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Collating Specific Patterns (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种验证码样本收集方法及***,其中该方法包括:获取原始样本图像,原始样本图像中包含手写字体数据;根据第一预设规则对原始样本图像进行预处理;根据预处理后的样本图像确定包含手写字体数据的区域,以及确定手写字体数据的边框范围;根据边框范围以及手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像;根据切割后得到的手写字体图像确定出验证码样本。本发明实施例利用手写字体得到验证码***需要的字体文件,不仅可以提高验证码被识别难度,增强辨识性,而且自动处理、切割以及制作字体文件的过程也大大节约了字体收集的时间。
Description
技术领域
本发明属于互联网技术领域,尤其涉及一种验证码样本收集方法及***。
背景技术
随着互联网技术的迅速发展,各种需要进行登入的应用服务***,如论坛、邮箱、微博、投票***等等,如雨后春笋般出现。
一般而言,为了规避或者降低常见的安全风险,如恶意注册、暴力破解密码、自动发表广告贴等情况,通常会在登入的同时要求使用者输入与随机产生的验证码一致的验证码信息,以便验证使用者的合法性。但是恶意软件的发展日新月异,甚至已逐渐具有基本的图形辨识能力,进而能够自动辨识及输入验证码,所以目前常对验证码进行变形、变色、噪声干扰等技术手段来增加辨识困难度。
在对现有技术的研究和实践过程中,本发明的发明人发现,对验证码进行变形、变色、噪声干扰等相对地也增加使用者的辨识困难度,对于一些本来就不易辨识的字符,如字母“q”与数字“9”、字母“o”与数字“0”等,更增加不少辨识困难度,因此现有技术中具有验证码的辨识性不佳的问题。
发明内容
本发明的目的在于提供一种验证码样本收集方法及***,旨在提高验证码被识别难度,增强验证码的辨识性。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种验证码样本收集方法,其中包括:
获取原始样本图像,所述原始样本图像中包含手写字体数据;
根据第一预设规则对所述原始样本图像进行预处理;
根据预处理后的样本图像确定包含所述手写字体数据的区域,以及确定所述手写字体数据的边框范围;
根据所述边框范围以及所述手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像;
根据切割后得到的手写字体图像确定出验证码样本。
为解决上述技术问题,本发明实施例还提供以下技术方案:
一种验证码样本收集***,其中包括:
获取单元,用于获取原始样本图像,所述原始样本图像中包含手写字体数据;
预处理单元,用于根据第一预设规则对所述原始样本图像进行预处理;
第一确定单元,用于根据预处理后的样本图像确定包含所述手写字体数据的区域,以及确定所述手写字体数据的边框范围;
切割单元,用于根据所述边框范围以及所述手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像;
第二确定单元,用于根据切割后得到的手写字体图像确定出验证码样本。
相对于现有技术,本实施例,首先,原始样本图像中包含手写字体数据,并利用该原始样本图像作为直接输入,然后对该原始样本图像进行预处理,并确定样本图像中包含该手写字体数据的区域,以及确定手写字体数据的边框范围,且根据边框范围以及手写字体数据的区域,对样本图像上相应的区域进行切割,得到手写字体图像,从而可以得到验证码***需要的字体文件样本,也就是说,本发明实施例利用手写字体得到验证码***需要的字体文件,不仅可以提高验证码被识别难度,增强辨识性,而且自动处理、切割以及制作字体文件的过程也大大节约了字体收集的时间。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1a是本发明实施例提供的验证码样本收集***的场景示意图;
图1b是本发明第一实施例提供的验证码样本收集方法的流程示意图;
图2a为本发明第二实施例提供的验证码样本收集方法的流程示意图;
图2b至图2k为本发明第二实施例提供验证码样本收集结果示意图;
图3为本发明第三实施例提供的验证码样本收集***的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存***中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实***置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语「模块」可看做为在该运算***上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算***上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
本发明实施例提供一种验证码样本收集方法及***。
参见图1a,该图为本发明实施例所提供的验证码样本收集***的场景示意图,该验证码样本收集***具体可以集成在服务器等设备中,主要用于接收从用户终端发送过来的包含手写字体数据的原始样本图像,其后根据第一预设规则对该原始样本图像进行预处理,并根据处理后的结果确定出包含该手写字体数据的区域,以及确定该手写字体数据的边框范围,从而根据边框范围和该区域,在样本图像上相应的区域进行切割,得到手写字体图像,最终确定出验证码样本。
比如,预处理操作可以包括将图像缩小以及进行模糊处理等,利用拉普拉斯算子或sobel算子或canny算子等确定手写字体数据的区域,通过阈值处理、膨胀处理、连通区域检测等确定手写字体数据的边框范围,从而可以基于此对在样本图像上相应的区域进行切割、反色处理等,得到手写字体图像;该手写字体图像可用于生成验证码,用户在登入应用服务***的同时,应用服务***会从该手写字体图像中选取图像随机产生验证码,以作为验证码信息,由于是利用手写字体得到验证码***需要的字体文件,因此可以提高验证码被识别难度。
以下将分别进行详细说明。
第一实施例
在本实施例中,将从验证码样本收集***的角度进行描述,该验证码样本收集***具体可以集成在服务器等设备中。
一种验证码样本收集方法,包括:获取原始样本图像,该原始样本图像中包含手写字体数据;根据第一预设规则对该原始样本图像进行预处理;根据预处理后的样本图像确定包含该手写字体数据的区域,以及确定该手写字体数据的边框范围;根据该边框范围以及该手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像;根据切割后得到的手写字体图像确定出验证码样本。
请参阅图1b,图1b是本发明第一实施例提供的验证码样本收集方法的流程示意图。该方法包括:
在步骤S101中,获取原始样本图像,该原始样本图像中包含手写字体数据。
在步骤S102中,根据第一预设规则对该原始样本图像进行预处理。
其中,所述步骤S101与步骤S102可具体为:
可以理解的是,该原始样本图像中包含了用户手写的并按一定规则进行排列的字体文件,比如用户将数字按照0-9的顺序、字母按照a-z、A-Z的顺序等书写到纸上,使用相机等拍摄到原图,并将其作为验证码样本收集***的直接输入。
验证码样本收集***接收到该包含手写字体数据的原始样本图像后,可根据第一预设规则对该原始样本图像进行预处理,比如,对该原始样本图像进行预处理可具体如下:
1、将该原始样本图像按照预设比例进行缩小,得到缩小后的样本图像;
2、对该缩小后的样本图像进行模糊处理,得到模糊处理后的样本图像。
可以理解的是,将原始样本图像按照预设比例进行缩小可以大大的减少了***处理数据的计算量,也提高了计算处理效率,按比例缩小后对该样本图像进行模糊处理可以滤除该样本图像中的高频噪声。
容易想到的是,上述第一预设规则以及预设比例等均可按照用户需求或具体场景预先设置在验证码样本收集***中,此处不作具体限定。
在步骤S103中,根据预处理后的样本图像确定包含手写字体数据的区域,以及确定手写字体数据的边框范围。
比如,根据预处理后的样本图像确定包含所述手写字体数据的区域,可以具体如下:
a、利用预设的边缘提取算法对预处理后的样本图像进行处理,以确定包含所述手写字体数据的区域;
可以理解的是,上述边缘提取算法可按照用户需求或具体场景预先设置在验证码样本收集***中,包括拉普拉斯算子或者索贝尔sobel算子或者canny算子等,此处不作具体限定。
基于对样本图像的预处理包括对样本图像的缩小处理以及样本图像的模糊处理,该步骤a可具体为:利用拉普拉斯算子、或者索贝尔sobel算子、或者canny算子对模糊处理后的样本图像进行处理。
进一步的,比如,根据预处理后的样本图像确定手写字体数据的边框范围,可以具体如下:
b、利用预设的边界调整算法对预处理后的样本图像进行处理,并对边界调整算法处理后的样本图像进行连通区域检测,以确定手写字体数据的边框范围。
可以理解的是,上述边界调整算法可按照用户需求或具体场景预先设置在验证码样本收集***中,可包括膨胀算法、腐蚀算法等,此处不作具体限定。
优选的,比如,在步骤a之后,还可以包括:
c、根据第二预设规则对边缘提取算法处理后的样本图像进行噪声处理;
基于此,噪声处理后,步骤b可以具体为:利用预设的边界调整算法对噪声处理后的样本图像进行处理,并对边界调整算法处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围。
更进一步的,在本发明一种实现方式中,步骤c可以具体包括:对边缘提取算法处理(如拉普拉斯算子处理)后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,并对阈值处理后的样本图像做开运算。
基于此,开运算处理后,步骤b可以具体为:按照预设膨胀模板对开运算后的样本图像做膨胀处理,对膨胀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围。
在本发明另一种实现方式中,步骤c可以具体包括:对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,将阈值处理后的样本图像进行反色处理,并对反色处理后的样本图像做闭运算。
基于此,闭运算处理后,步骤b可以具体为:按照预设腐蚀模板对闭运算后的样本图像做腐蚀处理,对腐蚀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围。
可以理解的是,膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞;腐蚀是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物体。
在步骤S104中,根据边框范围以及手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像。
在步骤S105中,根据切割后得到的手写字体图像确定出验证码样本。
其中,所述步骤S104与步骤S105可具体为:
也就是说,根据边框范围以及手写字体数据的区域,对噪声处理后的样本图像上相应的区域进行切割,得到手写字体图像,进一步的,可以是根据边框范围以及手写字体数据的区域,对阈值处理后的样本图像上相应的区域进行切割,从而得到手写字体图像。
进一步的,比如,如果之前是按照预设膨胀模板对开运算后的样本图像做膨胀处理,从而得到手写字体图像的,则将切割后得到的手写字体图像进行反色处理,并利用预设形态学膨胀算法调整手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
又比如,如果之前是按照预设腐蚀模板对闭运算后的样本图像做腐蚀处理,从而得到手写字体图像的,则直接通过预设形态学膨胀算法调整手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
由上述可知,本实施例提供的验证码样本收集方法,首先,原始样本图像中包含手写字体数据,并利用该原始样本图像作为直接输入,然后对该原始样本图像进行预处理,并确定样本图像中包含该手写字体数据的区域,以及确定手写字体数据的边框范围,且根据边框范围以及手写字体数据的区域,对样本图像上相应的区域进行切割,得到手写字体图像,从而可以得到验证码***需要的字体文件样本,也就是说,本发明实施例利用手写字体得到验证码***需要的字体文件,不仅可以提高验证码被识别难度,增强辨识性,而且自动处理、切割以及制作字体文件的过程也大大节约了字体收集的时间。
第二实施例
根据第一实施例所描述的方法,以下将举例作进一步详细说明。
首先,用户按照预设的顺序将字母数字等书写到纸上,并使用相机拍摄得到原图。其次,验证码样本收集***,用于将含有手写字体的图片中的字母和数字进行自动去噪、调整大小以及切割等制作成手写字体图片,以作为验证码样本。以下将进行详细说明。
请参阅图2a,图2a为本发明第二实施例提供的验证码样本收集方法的流程示意图。该方法包括:
在步骤S201中,获取原始样本图像,该原始样本图像中包含手写字体数据。
在步骤S202中,将该原始样本图像按照预设比例进行缩小,得到缩小后的样本图像。
在步骤S203中,对缩小后的样本图像进行模糊处理,得到模糊处理后的样本图像。
其中,所述步骤S201至步骤S203可具体为:
比如,首先,用户按照0-9、a-z、A-Z的顺序将字母数字等书写到纸上,并使用相机拍摄得到原图,可参考图2b,为含有手写字体数据的原始样本图像;其后,将该原始样本图像输入至验证码样本收集***进行处理。
接着,验证码样本收集***接收到该包含手写字体数据的原始样本图像后,可根据第一预设规则对该原始样本图像进行预处理,比如可具体如下:
将该原始样本图像的宽度缩小至1000,其高度等比例缩小,以减少计算量,同时也提高了***的计算处理效率;其后,对缩小后的样本图像做模糊处理,顾名思义是将样本图像模糊化,图像模糊的实质就是图像受到平均运算或积分运算,故可使用如高斯模糊或者均值滤波器等,设置好模糊的像素,实现图像模糊处理,从而可以滤除高频噪声,可一并参考图2c,为模糊处理后得到的样本图像示意。
容易想到的是,预设比例以及模糊处理的方式等均可按照用户需求或具体场景预先设置在验证码样本收集***中,此处举例不构成对本发明的限定。
在步骤S204中,使用拉普拉斯算子对模糊处理后的样本图像进行处理,确定包含手写字体数据的区域。
可以理解的是,使用拉普拉斯算子对样本图像进行处理,可以提取变化率高的区域,其中,变化率高的区域可认为是包含所述手写字体数据的区域,如图2d所示,为拉普拉斯算子处理后得到的样本图像示意。
其中,拉普拉斯算子基于二阶微分计算,是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,可定义为:
优选的,为了更适合于数字图像处理,还可以将其表示为离散形式;通过拉普拉斯算子可以检查出图像中各个方向上变化率的大小,而图像中变化较大的区域一般集中在边缘,此算子可用二次微分正峰和负峰之间的过零点来确定边缘线的位置,故拉普拉斯算子常用于边缘提取,本实施例可以利用拉普拉斯算子突出显示手写字体的区域。
容易想到的是,本实施例中拉普拉斯算子也可以替换为索贝尔sobel算子或者canny算子等边缘提取算法,对模糊处理后的样本图像进行处理,此处举例不构成对本发明的限定。
在步骤S205中,对拉普拉斯算子处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像。
在步骤S206中,对阈值处理后的样本图像做开运算。
在步骤S207中,按照预设膨胀模板对开运算后的样本图像做膨胀处理。
其中,所述步骤S205至步骤S207可具体为:
比如,阈值处理可具体如下:
若设定样本图像的像素点的亮度大于该预设阈值,则阈值结果为纯白,反之,设定小于该预设阈值设置为纯黑。由于样本图像中文字与纸张的对比度很高,使得二阶导数值也很高,因此此处使用接近纯白的值即可达到仅有纯黑和纯白两种颜色的效果;并且由于后续会对噪声的单独处理,此处阈值的选取范围可以较大,实际测试结果可优选在[230-250]之间,此处举例不作具体限定;如图2e所示,为阈值处理后得到的仅有纯黑和纯白两种颜色的样本图像示意。
其后,对阈值处理后的样本图像做开运算,其中,开运算通常用来消除小对象物、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。通常是在需要去除小颗粒噪声,以及断开目标物之间粘连时使用,本实施例中,对阈值处理后的样本图像做开运算可以滤除个别噪声点,如图2f所示,为做开运算后得到的样本图像示意。
进一步的,开运算后,对样本图像做膨胀处理,其作用是将断开的目标物进行接续,本实施例中,膨胀模板为竖向的直线,作用是使字母“i”与“j”的点与下面的部分粘连起来,如图2g所示,为膨胀处理后得到的样本图像示意。
在步骤S208中,对膨胀处理后的样本图像进行连通区域检测,以确定手写字体数据的边框范围。
对膨胀后的图像做连通区域检测,即可找到每个字母以及数字的上下左右边框范围,比如,连通区域检测可具体如下:
首先逐行逐列查找样本图像,找到一个白色的像素,将此白色像素加入待搜索像素集,然后从待搜索像素集中选取一个像素,将其从待搜索像素集中删除,然后判断该像素是不是当前连通区域的最上、最下、最左和最右的点,如果是,更新当前连通区域对应的最上、最下、最左和最右的位置,然后将此像素置为黑色,然后判断此像素的上下左右四个像素是否为白色,如果是就将其加入待搜索像素集,然后再从待搜索像素集中取出一个像素,并重复上面处理流程,直到待搜索集中没有像素为止,一个连通区域的上下左右就确定了,然后继续逐行逐列查找下一个白色像素并重复上面步骤,直到图像中没有白色的像素为止,这样所有的连通区域就找到了。
在步骤S209中,根据该边框范围以及手写字体数据的区域,对阈值处理后的样本图像上相应的区域进行切割,并进行反色处理,得到切割后的手写字体图像。
也就是说,利用步骤S208得到的边框范围以及步骤S204确定的包含手写字体数据的区域,对步骤S205得到的样本图像中相应的区域进行切割,切割下来在做反色处理,从而可以得到切割后并进行反色处理的手写字体图像,如图2h所示,为切割后的手写字体图像的示意。
需要说明的是,由于手写的字体都是按顺序排列的,因此切割手写字体图像时可以对切割区域按从上至下、从左至右的顺序进行排序,以确定切割后的图像与字母、数字的对应关系,便于加以标签识别。
在步骤S210中,通过预设形态学膨胀算法调整手写字体图像的字体粗细。
在步骤S211中,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
其中,所述步骤S210和步骤S211可具体为:
也就是说,对于得到的结果可以使用形态学膨胀算法使其***,通过调整参数来控制字母的粗细,比如,如图2i所示,为切割后的手写字体图像加粗3个像素的结果示意,如图2j所示,为切割后的手写字体图像加粗6个像素的结果示意,如图2k所示,为切割后的手写字体图像加粗9个像素的结果示意。
然后,收集如上经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本,比如,用户在登入应用服务***的同时,***会从该验证码样本中选取图片随机产生验证码,以作为验证码信息,便于验证使用者的合法性,由于是利用手写字体得到验证码***需要的字体文件,因此可以提高验证码被识别难度。
其中,形态学算法是将数学形态学做为工具从图像中提取对于表达和描述区域形状有用的图像分量的算法,比如边界、骨架以及凸壳等等。本文中使用到的形态学算法有四种:膨胀算法、腐蚀算法、开运算、闭运算,其中,膨胀算法是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞;腐蚀算法是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物体;开运算是在需要去除小颗粒噪声,以及断开目标物之间粘连时使用;闭运算通常是用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时并不明显改变其面积,可根据具体情况进行选用。
可以理解的是,在某些实施方式中,步骤S206与步骤S206处理前可将样本图像进行反色处理,并将步骤S206中的开运算替换成闭运算,步骤S207的膨胀运算换成腐蚀运算,也可以得到反色的结果,其后样本图像进行切割,得到切割后并进行反色处理的手写字体图像,如图2h所示,为切割后的手写字体图像的示意。
由上述可知,本实施例提供的验证码样本收集方法,首先,原始样本图像中包含手写字体数据,并利用该原始样本图像作为直接输入,然后对该原始样本图像进行预处理,并确定样本图像中包含该手写字体数据的区域,以及确定手写字体数据的边框范围,且根据边框范围以及手写字体数据的区域,对样本图像上相应的区域进行切割,得到手写字体图像,从而可以得到验证码***需要的字体文件样本,也就是说,本发明实施例利用手写字体得到验证码***需要的字体文件,不仅可以提高验证码被识别难度,增强辨识性,而且自动处理、切割以及制作字体文件的过程也大大节约了字体收集的时间。
第三实施例
为便于更好的实施本发明实施例提供的验证码样本收集方法,本发明实施例还提供一种基于上述验证码样本收集方法的***。其中名词的含义与上述网络资源的排重的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本发明实施例提供的验证码样本收集***的结构示意图,本发明验证码样本收集***可以包括获取单元301、预处理单元302、第一确定单元303、切割单元304以及第二确定单元305。
其中获取单元301,用于获取原始样本图像,所述原始样本图像中包含手写字体数据;预处理单元302,用于根据第一预设规则对所述原始样本图像进行预处理。
可以理解的是,该原始样本图像中包含了用户手写的并按一定规则进行排列的字体文件,比如用户将数字按照0-9的顺序、字母按照a-z、A-Z的顺序等书写到纸上,使用相机等拍摄到原图,并将其作为验证码样本收集***的直接输入。
获取单元301接收到该包含手写字体数据的原始样本图像后,预处理单元302可根据第一预设规则对该原始样本图像进行预处理,比如,预处理单元302可以包括:
缩小子单元,用于将所述原始样本图像按照预设比例进行缩小,得到缩小后的样本图像;
模糊处理子单元,用于对所述缩小后的样本图像进行模糊处理,得到模糊处理后的样本图像。
可以理解的是,将原始样本图像按照预设比例进行缩小可以大大的减少了***处理数据的计算量,也提高了计算处理效率,按比例缩小后对该样本图像进行模糊处理可以滤除该样本图像中的高频噪声。
容易想到的是,上述第一预设规则以及预设比例等均可按照用户需求或具体场景预先设置在验证码样本收集***中,此处不作具体限定。
第一确定单元303,用于根据预处理后的样本图像确定包含所述手写字体数据的区域,以及确定所述手写字体数据的边框范围。
比如,第一确定单元303根据预处理后的样本图像确定包含所述手写字体数据的区域,可以具体如下:
该第一确定单元303可以包括:
第一确定子单元,用于利用预设的边缘提取算法对预处理后的样本图像进行处理,以确定包含所述手写字体数据的区域;
可以理解的是,上述边缘提取算法可按照用户需求或具体场景预先设置在验证码样本收集***中,包括拉普拉斯算子或者索贝尔sobel算子或者canny算子等,此处不作具体限定。
基于对样本图像的预处理包括对样本图像的缩小处理以及样本图像的模糊处理,则第一确定子单元可以具体用于:利用拉普拉斯算子、或者索贝尔sobel算子、或者canny算子对所述模糊处理后的样本图像进行处理,以确定包含所述手写字体数据的区域。
进一步的,比如,第一确定单元303根据预处理后的样本图像确定手写字体数据的边框范围,可以具体如下:
该第一确定单元303还可以包括:
第二确定子单元,用于利用预设的边界调整算法对预处理后的样本图像进行处理,并对边界调整算法处理后的样本图像进行连通区域检测,以确定手写字体数据的边框范围。
可以理解的是,上述边界调整算法可按照用户需求或具体场景预先设置在验证码样本收集***中,可包括膨胀算法、腐蚀算法等,此处不作具体限定。
优选的,比如,所述***还可以包括:
噪声处理单元,用于根据第二预设规则对边缘提取算法处理后的样本图像进行噪声处理;
基于此,噪声处理后,第二确定子单元可以具体用于:利用预设的边界调整算法对噪声处理后的样本图像进行处理,并对边界调整算法处理后的样本图像进行连通区域检测,以确定手写字体数据的边框范围。
更进一步的,在本发明一种实现方式中,噪声处理单元可以具体用于:对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,并对阈值处理后的样本图像做开运算。
基于此,开运算处理后,第二确定子单元具体用于:按照预设膨胀模板对开运算后的样本图像做膨胀处理,对膨胀处理后的样本图像进行连通区域检测,以确定手写字体数据的边框范围。
在本发明另一种实现方式中,噪声处理单元可以具体用于:对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,将阈值处理后的样本图像进行反色处理,并对反色处理后的样本图像做闭运算。
基于此,闭运算处理后,第二确定子单元可以具体用于:按照预设腐蚀模板对闭运算后的样本图像做腐蚀处理,对腐蚀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围。
可以理解的是,膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞;腐蚀是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物体。
切割单元304,用于根据所述边框范围以及所述手写字体数据的区域,对预处理后的样本图像上相应的区域进行切割,得到手写字体图像;第二确定单元305,用于根据切割后得到的手写字体图像确定出验证码样本。
也就是说,根据以上实施方式可知,切割单元304可以具体用于:根据边框范围以及手写字体数据的区域,对噪声处理后的样本图像上相应的区域进行切割,得到手写字体图像。进一步的,可以是根据边框范围以及手写字体数据的区域,对阈值处理后的样本图像上相应的区域进行切割,从而得到手写字体图像。
比如,如果之前是按照预设膨胀模板对开运算后的样本图像做膨胀处理,从而得到手写字体图像的,则该第二确定单元可以具体用于:将切割后得到的手写字体图像进行反色处理,通过预设形态学膨胀算法调整手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
又比如,如果之前是按照预设腐蚀模板对闭运算后的样本图像做腐蚀处理,从而得到手写字体图像的,则第二确定单元具体用于:直接通过预设形态学膨胀算法调整手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该验证码样本收集***具体可以集成在服务器等设备中。
由上述可知,本实施例提供的验证码样本收集***,原始样本图像中包含手写字体数据,并利用该原始样本图像作为直接输入,然后对该原始样本图像进行预处理,并确定样本图像中包含该手写字体数据的区域,以及确定手写字体数据的边框范围,且根据边框范围以及手写字体数据的区域,对样本图像上相应的区域进行切割,得到手写字体图像,从而可以得到验证码***需要的字体文件样本,也就是说,本发明实施例利用手写字体得到验证码***需要的字体文件,不仅可以提高验证码被识别难度,增强辨识性,而且自动处理、切割以及制作字体文件的过程也大大节约了字体收集的时间。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对验证码样本收集方法的详细描述,此处不再赘述。
本发明实施例提供的所述验证码样本收集***,譬如为计算机、平板电脑、具有触摸功能的手机等等,所述验证码样本收集***与上文实施例中的验证码样本收集方法属于同一构思,在所述验证码样本收集***上可以运行所述验证码样本收集方法实施例中提供的任一方法,其具体实现过程详见所述验证码样本收集方法实施例,此处不再赘述。
需要说明的是,对本发明所述验证码样本收集方法而言,本领域普通测试人员可以理解实现本发明实施例所述验证码样本收集方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述验证码样本收集方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的所述验证码样本收集***而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种验证码样本收集方法及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种验证码样本收集方法,其特征在于,包括:
获取原始样本图像,所述原始样本图像中包含手写字体数据;
根据第一预设规则对所述原始样本图像进行预处理;
利用预设的边缘提取算法对预处理后的样本图像进行处理,以确定包含所述手写字体数据的区域;
对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,并对阈值处理后的样本图像做开运算,将开运算后的样本图像确定为噪声处理后的样本图像;按照预设膨胀模板对所述开运算后的样本图像做膨胀处理,并对膨胀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围;或者,
对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,将阈值处理后的样本图像进行反色处理,并对反色处理后的样本图像做闭运算,将闭运算后的样本图像确定为噪声处理后的样本图像;按照预设腐蚀模板对所述闭运算后的样本图像做腐蚀处理,并对腐蚀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围;
根据所述边框范围以及所述手写字体数据的区域,对所述噪声处理后的样本图像上相应的区域进行切割,得到手写字体图像;
根据所述手写字体图像确定出验证码样本。
2.根据权利要求1所述的验证码样本收集方法,其特征在于,所述根据第一预设规则对所述原始样本图像进行预处理,包括:
将所述原始样本图像按照预设比例进行缩小,得到缩小后的样本图像;
对所述缩小后的样本图像进行模糊处理,得到模糊处理后的样本图像;
所述利用预设的边缘提取算法对预处理后的样本图像进行处理具体为:利用拉普拉斯算子、或者索贝尔sobel算子、或者canny算子对所述模糊处理后的样本图像进行处理。
3.根据权利要求1所述的验证码样本收集方法,其特征在于,所述根据所述手写字体图像确定出验证码样本,包括:
将所述手写字体图像进行反色处理;
通过预设形态学膨胀算法调整反色处理后的手写字体图像的字体粗细;
收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
4.根据权利要求1所述的验证码样本收集方法,其特征在于,所述根据所述手写字体图像确定出验证码样本,包括:
通过预设形态学膨胀算法调整所述手写字体图像的字体粗细;
收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
5.一种验证码样本收集***,其特征在于,包括:
获取单元,用于获取原始样本图像,所述原始样本图像中包含手写字体数据;
预处理单元,用于根据第一预设规则对所述原始样本图像进行预处理;
第一确定单元包括第一确定子单元以及第二确定子单元;
所述第一确定子单元,用于利用预设的边缘提取算法对预处理后的样本图像进行处理,以确定包含所述手写字体数据的区域;
噪声处理单元,用于对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,并对阈值处理后的样本图像做开运算,将开运算后的样本图像确定为噪声处理后的样本图像;或者,对边缘提取算法处理后的样本图像进行阈值处理,以得到仅有纯黑和纯白两种颜色的样本图像,将阈值处理后的样本图像进行反色处理,并对反色处理后的样本图像做闭运算,将闭运算后的样本图像确定为噪声处理后的样本图像;
所述第二确定子单元,用于按照预设膨胀模板对所述开运算后的样本图像做膨胀处理,并对膨胀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围;或者,按照预设腐蚀模板对所述闭运算后的样本图像做腐蚀处理,并对腐蚀处理后的样本图像进行连通区域检测,以确定所述手写字体数据的边框范围;
切割单元,用于根据所述边框范围以及所述手写字体数据的区域,对所述噪声处理后的样本图像上相应的区域进行切割,得到手写字体图像;
第二确定单元,用于根据所述手写字体图像确定出验证码样本。
6.根据权利要求5所述的验证码样本收集***,其特征在于,所述预处理单元包括:
缩小子单元,用于将所述原始样本图像按照预设比例进行缩小,得到缩小后的样本图像;
模糊处理子单元,用于对所述缩小后的样本图像进行模糊处理,得到模糊处理后的样本图像;
所述第一确定子单元具体用于:利用拉普拉斯算子、或者索贝尔sobel算子、或者canny算子对所述模糊处理后的样本图像进行处理,以确定包含所述手写字体数据的区域。
7.根据权利要求5所述的验证码样本收集***,其特征在于,所述第二确定单元具体用于:
将所述手写字体图像进行反色处理,通过预设形态学膨胀算法调整反色处理后的手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
8.根据权利要求5所述的验证码样本收集***,其特征在于,所述第二确定单元具体用于:
通过预设形态学膨胀算法调整所述手写字体图像的字体粗细,收集经过字体粗细调整后的手写字体图像,并将收集的手写字体图像确定为验证码样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510513830.9A CN106469267B (zh) | 2015-08-20 | 2015-08-20 | 一种验证码样本收集方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510513830.9A CN106469267B (zh) | 2015-08-20 | 2015-08-20 | 一种验证码样本收集方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469267A CN106469267A (zh) | 2017-03-01 |
CN106469267B true CN106469267B (zh) | 2019-12-17 |
Family
ID=58228827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510513830.9A Active CN106469267B (zh) | 2015-08-20 | 2015-08-20 | 一种验证码样本收集方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469267B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111275696B (zh) * | 2020-02-10 | 2023-09-15 | 腾讯医疗健康(深圳)有限公司 | 一种医学图像处理的方法、图像处理的方法及装置 |
CN112347478B (zh) * | 2020-10-13 | 2021-08-24 | 北京天融信网络安全技术有限公司 | 一种恶意软件检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599125A (zh) * | 2009-06-11 | 2009-12-09 | 上海交通大学 | 复杂背景下图像处理的二值化方法 |
CN102163284A (zh) * | 2011-04-11 | 2011-08-24 | 西安电子科技大学 | 面向中文环境的复杂场景文本定位方法 |
CN102693423A (zh) * | 2012-05-15 | 2012-09-26 | 公安部第三研究所 | 一种在强光条件下车牌精确定位的方法 |
CN103049756A (zh) * | 2012-11-16 | 2013-04-17 | 健雄职业技术学院 | 基于cema算法和纹理块匹配修复技术的自动提取与去除彩色图像内文字的方法 |
CN103065138A (zh) * | 2012-12-06 | 2013-04-24 | 新疆公众信息产业股份有限公司 | 一种机动车牌号的识别方法 |
CN103971376A (zh) * | 2014-05-23 | 2014-08-06 | 成都凯智科技有限公司 | 应用程序执行方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007125826A (ja) * | 2005-11-04 | 2007-05-24 | Ricoh Co Ltd | 画像処理方法、プログラム、画像処理装置、画像形成装置及び画像形成システム |
-
2015
- 2015-08-20 CN CN201510513830.9A patent/CN106469267B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599125A (zh) * | 2009-06-11 | 2009-12-09 | 上海交通大学 | 复杂背景下图像处理的二值化方法 |
CN102163284A (zh) * | 2011-04-11 | 2011-08-24 | 西安电子科技大学 | 面向中文环境的复杂场景文本定位方法 |
CN102693423A (zh) * | 2012-05-15 | 2012-09-26 | 公安部第三研究所 | 一种在强光条件下车牌精确定位的方法 |
CN103049756A (zh) * | 2012-11-16 | 2013-04-17 | 健雄职业技术学院 | 基于cema算法和纹理块匹配修复技术的自动提取与去除彩色图像内文字的方法 |
CN103065138A (zh) * | 2012-12-06 | 2013-04-24 | 新疆公众信息产业股份有限公司 | 一种机动车牌号的识别方法 |
CN103971376A (zh) * | 2014-05-23 | 2014-08-06 | 成都凯智科技有限公司 | 应用程序执行方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106469267A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670500B (zh) | 一种文字区域获取方法、装置、存储介质及终端设备 | |
Hamad et al. | A detailed analysis of optical character recognition technology | |
CN110414507B (zh) | 车牌识别方法、装置、计算机设备和存储介质 | |
JP6255486B2 (ja) | 情報認識のための方法及びシステム | |
US20160283814A1 (en) | Method and apparatus for generating text line classifier | |
CN111126379A (zh) | 一种目标检测方法与装置 | |
CN108108731B (zh) | 基于合成数据的文本检测方法及装置 | |
WO2014160426A1 (en) | Classifying objects in digital images captured using mobile devices | |
US20140193029A1 (en) | Text Detection in Images of Graphical User Interfaces | |
CN111144366A (zh) | 一种基于联合人脸质量评估的陌生人脸聚类方法 | |
KR20050111186A (ko) | 영상의 문자 추출 장치 및 방법 | |
Lelore et al. | Super-resolved binarization of text based on the fair algorithm | |
CN103198311A (zh) | 基于拍摄的图像来识别字符的方法及装置 | |
US11704925B2 (en) | Systems and methods for digitized document image data spillage recovery | |
CN114049499A (zh) | 用于连续轮廓的目标对象检测方法、设备及存储介质 | |
Bai et al. | A fast stroke-based method for text detection in video | |
Shehu et al. | Character recognition using correlation & hamming distance | |
CN109508716B (zh) | 一种图像文字的定位方法及装置 | |
CN106469267B (zh) | 一种验证码样本收集方法及*** | |
CN111259894B (zh) | 一种证件信息鉴别方法、装置及计算机设备 | |
CN106886796A (zh) | 图标位置识别方法、装置及终端设备 | |
CN112749696A (zh) | 一种文本检测方法及装置 | |
CN108304840B (zh) | 一种图像数据处理方法以及装置 | |
Sourvanos et al. | Challenges in input preprocessing for mobile OCR applications: A realistic testing scenario | |
Liu et al. | Effectively localize text in natural scene images |
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 |