CN109101974A - 针对线状干扰的去噪方法和去噪装置 - Google Patents

针对线状干扰的去噪方法和去噪装置 Download PDF

Info

Publication number
CN109101974A
CN109101974A CN201810886669.3A CN201810886669A CN109101974A CN 109101974 A CN109101974 A CN 109101974A CN 201810886669 A CN201810886669 A CN 201810886669A CN 109101974 A CN109101974 A CN 109101974A
Authority
CN
China
Prior art keywords
character
coordinate
noise
value
section
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
CN201810886669.3A
Other languages
English (en)
Other versions
CN109101974B (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.)
JD Digital Technology Holdings Co Ltd
Jingdong Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding 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 Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201810886669.3A priority Critical patent/CN109101974B/zh
Publication of CN109101974A publication Critical patent/CN109101974A/zh
Application granted granted Critical
Publication of CN109101974B publication Critical patent/CN109101974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种针对线状干扰的去噪方法和去噪装置,涉及计算机技术领域。该方法的一具体实施方式包括:将原始图像进行预处理以得到二值化图像;确定二值化图像中每个字符对应的坐标区间;根据字符对应的坐标区间确定字符对应的首端点和末端点的坐标;根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;使用噪声曲线表达式预测噪声并去除。该实施方式可以准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。

Description

针对线状干扰的去噪方法和去噪装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种针对线状干扰的去噪方法和去噪装置。
背景技术
随着爬虫技术的兴起,越来越多的业务展开开始借助于网络爬虫的数据抓取能力,而出于对安全及流量控制的考量,各个网站也相继启用了验证码验证来作为阻挡网络爬虫的一道关卡,随着图像识别技术的飞速发展,验证码的花样也逐步拓展翻新,从最早的字符端正、大小一致、背景干净到后期背景变色,加入各种噪声,字符旋转模糊变形,可以说,图像识别是打开这道门的钥匙,而图像的去噪处理则是图像识别前序操作中的关键一步。
而在诸多验证码中存在这样一类含有严重干扰的情况,主要干扰噪声为长短粗细不一的非规则条线,即:线状干扰。如图1所示,是具有线状干扰的验证码原始图像示意图。对于线状干扰,目前常用的去噪方案有如下两种:
方案1、对验证码图像进行简要的去噪处理(如:去除图像上与验证码字符明显无关的干扰信息)后,根据垂直投影,水平投影算法进行字符的细分切割,利用大量打标数据对存在干扰形变的字符进行识别。切割后的字符效果如图2所示,根据图2,可以看到将图1所示的验证码原始图像切割为4个仍具有部分干扰的字符;
方案2、对验证码图像进行简要去噪处理后,从图像的左端开始,取一定的规则保存为一个连通区域,并保存在一个列表list中,而后遍历验证码图像中所有连通区域,取长度最长的去掉,对去噪后的验证码进行切割与识别。图3是检测到的最长的连通区域的示意图;图4是去掉最长的连通区域后的字符效果示意图。由图3可以看出,最长的连通区域(如灰色线所示)包含了字符“H”的中间部分,字符“n”的上半部分,以及字符“f”的上半部分。因此,进行去噪后得到如图4所示的字符,识别效果较差。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、对于方案1,因为验证码数字字母样式多变,如果仅进行简单的去噪切割,主要的条形干扰噪声不会被去除,数据复杂性较高。为了保证训练模型的识别准确率,这就要求每一类都必须有大量打标数据,人工打标成本会升高、模型的训练时间也会变长,并且考虑到识别难度的增加,最后能达到的稳定识别率并不乐观;
2、对于方案2,由图4所示的效果示意图可知,简单的最长连通域去除存在误消除的情况,不但没有将线状噪声去除,反而将可识别的字符部分去除了,很明显这将会最终影响到字符的识别率。如果是噪声与字符的一部分完全重叠,那么在去除噪声的同时字符的重叠部分也会被去除,而造成字符的不完整。如果是字符与噪声存在相交,这部分极有可能因为字符曲线弧度比噪声更大长度更长而被去除,也会造成字符的不完整甚至变形。
发明内容
有鉴于此,本发明实施例提供一种针对线状干扰的去噪方法和去噪装置,能够准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种针对线状干扰的去噪方法。
一种针对线状干扰的去噪方法,包括:将原始图像进行预处理以得到二值化图像;确定所述二值化图像中每个字符对应的坐标区间;根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标;根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;使用所述噪声曲线表达式预测噪声并去除。
可选地,确定所述二值化图像中每个字符对应的坐标区间包括:对所述二值化图像做垂直投影,以得到所述二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;根据预设的字符宽度范围,对所述坐标区间集合进行调整,以得到每个字符对应的坐标区间。
可选地,对所述坐标区间集合进行调整包括:步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;步骤2:判断所述坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对所述坐标区间进行处理;步骤3:将所述坐标区间的右区间值修改为与所述坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于所述预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;步骤4:更新所述坐标区间并删除所述下一个坐标区间以更新所述坐标区间集合;步骤5:若修改后的坐标区间的长度仍小于所述预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于所述预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对所述坐标区间进行的最后一次修改,然后更新所述坐标区间和所述坐标区间集合。
可选地,根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标包括:由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
可选地,根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式包括:对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
可选地,根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,还包括:根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定所述字符间隔在预设的字符间隔范围之内。
可选地,使用所述噪声曲线表达式预测噪声并去除包括:计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;将所述第一噪声和所述第二噪声去除。
根据本发明实施例的另一方面,提供了一种针对线状干扰的去噪装置。
一种针对线状干扰的去噪装置,包括:预处理模块,用于将原始图像进行预处理以得到二值化图像;区间确定模块,用于确定所述二值化图像中每个字符对应的坐标区间;端点确定模块,用于根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标;曲线求解模块,用于根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;噪声预测模块,用于使用所述噪声曲线表达式预测噪声并去除。
可选地,所述区间确定模块还用于:对所述二值化图像做垂直投影,以得到所述二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;根据预设的字符宽度范围,对所述坐标区间集合进行调整,以得到每个字符对应的坐标区间。
可选地,对所述坐标区间集合进行调整包括:步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;步骤2:判断所述坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对所述坐标区间进行处理;步骤3:将所述坐标区间的右区间值修改为与所述坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于所述预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;步骤4:更新所述坐标区间并删除所述下一个坐标区间以更新所述坐标区间集合;步骤5:若修改后的坐标区间的长度仍小于所述预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于所述预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对所述坐标区间进行的最后一次修改,然后更新所述坐标区间和所述坐标区间集合。
可选地,所述端点确定模块还用于:由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
可选地,所述曲线求解模块还用于:对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
可选地,还包括间隔确定模块,用于:在根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定所述字符间隔在预设的字符间隔范围之内。
可选地,所述噪声预测模块还用于:计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;将所述第一噪声和所述第二噪声去除。
根据本发明实施例的又一方面,提供了一种针对线状干扰的去噪的电子设备。
一种针对线状干扰的去噪的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的针对线状干扰的去噪方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的针对线状干扰的去噪方法。
上述发明中的一个实施例具有如下优点或有益效果:通过根据预处理后的二值化图像先确定字符对应的坐标区间,然后确定字符端点,再根据字符端点求解噪声曲线表达式,最后使用噪声曲线表达式预测噪声并去除,实现了准确确定字符,并根据字符与噪声曲线相交处的字符端点来求解噪声曲线,从而可以准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。另外,本发明在实现噪声精准去除的同时,还可以保全字符的完整性,提高字符切割的准确率;通过使用噪声曲线表达式进行准确去噪,从而获得干净的可识别字符,提高可识别度,降低数据复杂度与混淆度,减小所需训练样本的数据量,从而能够降低打标成本,缩小模型训练时间,最终提高单个字符的识别准确率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是具有线状干扰的验证码原始图像示意图;
图2是现有技术方案1进行切割后的字符效果示意图;
图3是现有技术方案2检测到的最长的连通区域的示意图;
图4是现有技术方案2去掉最长的连通区域后的字符效果示意图;
图5是根据本发明实施例的针对线状干扰的去噪方法的主要步骤示意图;
图6是本发明实施例的预处理后的二值化图像示意图;
图7是本发明实施例的二值化图像垂直投影直方图;
图8是本发明实施例的坐标区间合并示意图;
图9是本发明实施例经坐标区间合并后得到的字符对应的坐标区间示意图;
图10是本发明实施例确定的字符端点的示意图;
图11是本发明实施例的一组取值对应的点的示意图;
图12是本发明实施例使用噪声曲线表达式确定的第一噪声示意图;
图13是本发明实施例的去噪结果示意图;
图14是根据本发明实施例的针对线状干扰的去噪装置的主要模块示意图;
图15是本发明实施例可以应用于其中的示例性系统架构图;
图16是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图5是根据本发明实施例的针对线状干扰的去噪方法的主要步骤示意图.如图5所示,本发明实施例的针对线状干扰的去噪方法主要包括如下的步骤S501至步骤S505。
步骤S501:将原始图像进行预处理以得到二值化图像。其中,二值化图像是将灰度图中灰度大于设定阈值的像素点的灰度设为0(即为黑色),灰度不大于设定阈值的像素点的灰度设为255(即为白色)得到的黑白图像。灰度图是一种单通道图像,只有灰度值,取值区间为0~255。将原始图像进行预处理为灰度图,以及将灰度图处理为二值化图像的过程可采用现有常用的技术手段,本发明在此不做详细介绍。另外,对原始图像进行预处理的过程例如还可以包括:去除原始图像上与字符明显无关的干扰信息等,例如:对于如图1所示的原始图像,可去除图像中与字符无关的点,以及明显很细的干扰线等。进行预处理后,得到如图6所示的本发明实施例的预处理后的二值化图像示意图。下面将对该二值化图像中包括的干扰线进行去除。
步骤S502:确定二值化图像中每个字符对应的坐标区间。
通常情况下,每个图像中包括的字符不少于一个。在本发明的实施例中,根据图6可知,二值化图像包括的字符为4个。
根据本发明的实施例,步骤S502在执行时,具体可以包括以下步骤:
步骤S5021:对二值化图像做垂直投影,以得到二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;
步骤S5022:根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;
步骤S5023:根据预设的字符宽度范围,对坐标区间集合进行调整,以得到每个字符对应的坐标区间。
对预处理后的二值化的图像做垂直投影,即沿X轴滑动,将图片对应X轴坐标的每一列灰度值为0(即:黑色)的像素点的数量累加,并将点数保存在投影列表list中,例如:([3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,6,11,18,20,23,22,16,13,10,7,5,5,5,4,4,3,3,4…]),为了便于直观分析,可将投影列表中的数据以如图7所示的直方图进行表示,图7是本发明实施例的二值化图像垂直投影直方图。
根据图像形态可知,取直方图数值突变点的X坐标值作为字符间断点在X轴上的坐标较为合理。假设预设的噪声阈值为5(此为经验值,可根据实际使用情况进行调整),则图7的直方图中的Y坐标值大于5时的X坐标值即为字符对应的坐标值。遍历X轴即可得到可能为字符的X轴坐标区间([[19,28],[38,46],[67,68],[72,91],[93,93],[117,138],[162,176]]),这些坐标区间构成了坐标区间集合。
根据本发明的技术方案,由于字符中会包括某些字符,例如“H”、“M”等,对其进行垂直投影后,X坐标的每一列包括的黑色像素点的个数并不能都大于预设的噪声阈值,故而,此类字符对应的X轴坐标区间就可能会被分为多个小坐标区间,因此,需要对坐标区间集合进行调整,以将相邻的几个小坐标区间整合为一个满足字符宽度要求的大坐标区间,并将此大坐标区间作为字符对应的坐标区间,从而可以更准确地进行字符识别和干扰去除。
具体地,步骤S5023中对坐标区间集合进行调整具体可以包括:
步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;
步骤2:判断坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对坐标区间进行处理;
步骤3:将该坐标区间的右区间值修改为与该坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;
步骤4:更新该坐标区间并删除该下一个坐标区间以更新坐标区间集合;
步骤5:若修改后的坐标区间的长度仍小于预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对该坐标区间进行的最后一次修改,然后更新该坐标区间和坐标区间集合。
在本发明的实施例中,假设预设的最小字符宽度为20,同时预设最大字符宽度为45。遍历坐标区间集合,如果一个坐标区间的长度小于预设的最小字符宽度,就修改当前坐标区间的右区间值为下一个坐标区间的右区间值,直至当前坐标区间长度符合字符宽度要求。但是,若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对该坐标区间进行的最后一次修改,并将最后一次修改之前的坐标区间作为最终得到的与字符对应的坐标区间。对坐标区间进行修改,是为了避免出现例如字符“H”、“N”等由于字符的中间连接部分像素点较少而导致的将一个字符误判为多个字符,且最后将中间连接部分作为噪声进行去除而导致的去噪结果不理想的情况。
图8是本发明实施例的坐标区间合并示意图。如图8所示,第一个坐标区间[19,28]的区间长度仅为9,小于最小字符宽度20,则拓展当前区间至下一坐标区间,可得到坐标区间[19,46],此时坐标区间的长度为27,已大于最小字符宽度20,并且小于最大字符宽度45,区间长度符合字符宽度要求,保留该区间。特别地,如果一个坐标区间的长度不符合字符宽度要求,但是它是该区间列表list的最后一组值,则无需对该坐标区间进行处理,仍将其作为字符对应的坐标区间保存在区间列表中。例如:若最后一个字符为“J”,则可能会出现最后一个字符对应的坐标区间不符合字符宽度要求,此时可直接将该坐标区间作为预测的字符对应的坐标区间进行保存。另外,根据本发明的技术方案,是通过将二值化图像中的线状噪声对应的一整条的很长的噪声曲线根据字符分割为多段噪声曲线以实现更好地进行数据拟合来确定噪声的,因此,即使因保留了最后一个坐标区间而使得最后得到的字符对应的坐标区间个数会多于字符个数,也并不会对曲线拟合造成影响,反而可使拟合结果更为准确。
图9是本发明实施例经坐标区间合并后得到的字符对应的坐标区间示意图。如图9所示,经处理后可以得到4个可能为字符的X坐标区间,分别为:[19,46]、[67,91]、[117,138]、[162,176]。
步骤S503:根据字符对应的坐标区间确定字符对应的首端点和末端点的坐标。
步骤S503在具体执行时可以包括:
由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;
由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
图10是本发明实施例确定的字符端点的示意图。如图10所示,以二值化图像中包括的第一个字符“H”对应的端点的确定过程为例,首先,根据字符“H”的X坐标区间的左端点来确定字符对应的首端点。具体地,自上而下依次读取字符“H”的X坐标区间的左端点的左边一列包括的像素点的灰度值,当灰度值出现由255(白色)变成0(黑色)时,将该灰度值突变时的灰度值为0的像素点作为噪声曲线与字符首端相交的上限点并记录;当灰度值由0恢复为255时,将该灰度值突变时的灰度值为0的像素点作为噪声曲线与字符首端相交的下限点并记录;然后,取上限点和下限点的Y坐标值的平均值作为字符首端点的Y坐标值,首端点的X坐标值即为字符“H”的X坐标区间的左端点值减1。同样地,可将字符的首端点保存在字符端点坐标列表list中。
同理,可根据字符“H”的X坐标区间的右端点来确定字符对应的末端点。具体地,自上而下依次读取字符“H”的X坐标区间的右端点的右边一列包括的像素点的灰度值,当灰度值出现由255(白色)变成0(黑色)时,将该灰度值突变时的灰度值为0的像素点(图中灰色的点1)作为噪声曲线与字符末端相交的上限点并记录;当灰度值由0恢复为255时,将该灰度值突变时的灰度值为0的像素点(图中灰色的点2)作为噪声曲线与字符末端相交的下限点并记录;然后,取上限点和下限点的Y坐标值的平均值作为字符末端点的Y坐标值,末端点的X坐标值即为字符“H”的X坐标区间的右端点值加1。同样地,可将字符的末端点(图中灰色的点3)保存在字符端点坐标列表list中。其中,在求上限点和下限点的中点位置时,由于必须找到具体的像素点,因此允许有一定的误差(例如:半个像素点),这对处理结果并不会造成影响。
根据上述过程,可得到字符“H”的首端点坐标例如为:[18,13],末端点坐标例如为[47,20]。同理可得二值化图像中包括的其他字符对应的首端点和末端点的坐标。
步骤S504:根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式。
根据本发明的实施例,步骤S504在具体执行时可以按照以下方法:
对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;
对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;
由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
图11是本发明实施例的一组取值对应的点的示意图。如图11所示,这两个字符都不是最后一个字符,以字符“c”为例,选取该字符对应的首端点(即图中灰色的点1)坐标、末端点(即图中灰色的点2)坐标,和字符“n”的首端点(即图中灰色的点3)坐标作为一组取值求解字符“c”对应的第一子噪声曲线表达式,且字符“c”对应的第一子噪声曲线表达式对应的坐标区间为字符“c”的首端点的X坐标值至下一个字符“n”的首端点的X坐标值。即:字符“c”对应的第一子噪声曲线表达式用于表示从字符“c”首端点到相邻的下一个字符“n”的首端点之间的噪声曲线。
而对于最后一个字符,由于其不具有对应的下一个字符,因此,可选取最后一个字符的首端点坐标、末端点坐标,及与最后一个字符相邻的上一个字符的末端点坐标作为一组取值来求解最后一个字符对应的第二子噪声曲线表达式。在图11中,假设字符“n”为最后一个字符,那么,可选取字符“n”的首端点坐标、末端点坐标,及前一个字符“c”的末端点坐标作为一组取值来求解字符“n”对应的第二子噪声曲线表达式。最后一个字符“n”对应的第二子噪声曲线表达式用于表示从字符“c”的末端点到字符“n”的末端点之间的噪声曲线。
然后,将每个字符对应的子噪声曲线表达式构成二值化图像的噪声曲线表达式。可以知道,二值化图像的噪声曲线表达式是一个分段函数。
由于每一段子噪声曲线类似于二次函数,因此具体在求解噪声曲线时,是将对应的每组取值代入以下方程组中来进行噪声曲线的求解的:
方程组(1)也可以写成如下的形式:
故而可求解得到方程系数a、b、c如下:
另外,根据本发明的另一个实施例,在根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,还可以根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定字符间隔在预设的字符间隔范围之内。例如,在图11中,字符“c”和字符“n”的字符间隔可由点3的X坐标值与点2的X坐标值之差得到。一般地,当两个字符的间隔在预设的字符间隔范围之内时,也就是说,两个字符有间隔且间隔不太大时,去噪效果会更好。字符间隔可根据具体应用时的情况进行设定,例如可根据处理的图像的特点设定字符间隔范围为3<x<24,等等。
步骤S505:使用噪声曲线表达式预测噪声并去除。
最后,使用步骤S504中确定的噪声曲线表达式来预测噪声并去除。具体地可以包括以下过程:
计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;
对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;
计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;
将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;
将所述第一噪声和所述第二噪声去除。
由于在求解噪声曲线表达式时,所使用的取值是由每个字符的端点值来构成的,而字符的端点值是噪声曲线与字符相交时的多个点中的中间值,因此,根据噪声曲线计算得到的从第一个字符的首端点至最后一个字符的末端点之间的像素点对应的Y坐标值,构成的是二值化图像的噪声曲线的中间线。因此,为了能将所有噪声都去除,可结合预设的噪声阈值(例如是5),以前面计算得到的每个Y坐标值作为中点,分别向上、向下获取与预设的噪声阈值相等个数(例如是5)的像素点,并将其中的灰度值为0(即:黑色)的像素点保存到预测噪声集合中,以作为初步预测的噪声点,以便进行进一步处理。
然后,根据预测噪声集合中保存的灰度值为0(即:黑色)的像素点,计算每个X坐标值对应的列包括的连续像素点的个数,即:计算每个X坐标值对应的列包括的连续黑色像素点的最大个数,并将最大个数不大于预设的噪声阈值(例如是5)的列包括的与Y坐标值最接近的连续黑色像素点确定为第一噪声。其中,若某个X坐标值对应的列包括的连续黑色像素点的个数大于预设的噪声阈值(例如是5),则说明该列是字符的一部分。如此,即可将字符与噪声曲线相交部分的像素点与噪声点区别开来,以更好地保证字符的完整性。另外,当确定的某个X坐标值对应的列里包括了两段连续的灰度值为0(即:黑色)像素点时,即:其中有一段为字符的一部分时,还可通过将与该列对应的Y坐标值最接近的一段连续的黑色像素点作为噪声进行去除,而保留另一段属于字符部分的像素点,从而进一步更好地保证了字符的完整性。
本领域技术人员应当理解,通过求解噪声曲线表达式,已较好地进行了噪声曲线的拟合,在可允许的误差范围内,以预设的噪声阈值为取点个数,进行向上、向下查找噪声点,基本可涵盖所有的噪声点。在具体实施时,取点个数还可略大于预设的噪声阈值,例如:比预设的噪声阈值多3个像素点之内均可。因在获取到像素点之后,还需要判定每一列包括的连续的黑色像素点的最大个数是否超过预设的噪声阈值,从而可进一步排除属于字符部分的像素点,以避免造成误将字符与噪声曲线的相交部分确定为噪声进行去除,进而保证了字符的完整性。另外,通过将与该列对应的Y坐标值最接近的一段连续的黑色像素点作为噪声进行去除,而保留其他段属于字符部分的像素点,从而进一步更好地保证了字符的完整性。
另外,由于根据噪声曲线可确定的是从第一个字符的首端点至最后一个字符的末端点之间的噪声点,而在第一个字符的左边和最后一个字符的右边也可能是仍有噪声的,因此,还需要将噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0(黑色)的像素点确定为第二噪声。最后,将第一噪声和第二噪声去除,从而实现了根据噪声曲线表达式来预测噪声并去除。
需要注意的是,在具体实施时,若一个字符的坐标区间在根据步骤S502进行确定的过程中进行了调整,那么,在去除噪声时,一般需要将该字符对应的坐标区间中包括的第一噪声保留,以避免将字符中间像素点较少的部分内容去除而导致字符不完整。例如:在本发明的前述的实施例介绍中,如图10中的字符“H”,其对应的坐标区间在进行确定时即进行了调整,故而当使用噪声曲线表达式确定第一噪声时,字符“H”对应的坐标区间中包括的第一噪声即需要保留以保证字符的完整性。其实,在步骤S502中对字符“H”对应的坐标区间进行调整,已在一定程度上降低了出现字符不完整的情况的概率。
图12是本发明实施例使用噪声曲线表达式确定的第一噪声示意图。如图12所示,其中灰色部分是根据噪声曲线表达式计算得到的第一噪声。从图中可以看出,采用本发明的技术方案,在确定噪声点时,不会误将字符的部分错当成噪声。图13是本发明实施例的去噪结果示意图。如图13,可以看出,采用本发明实施例的技术方案进行去噪,结果准确、清晰、完整。
根据上述的步骤S501至步骤S505,即可根据预处理后的二值化图像先确定字符对应的坐标区间,然后确定字符端点,再根据字符端点求解噪声曲线表达式,最后使用噪声曲线表达式预测噪声并去除,实现了准确确定字符,并根据字符与噪声曲线相交处的字符端点来求解噪声曲线,从而可以准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。
另外,在具体应用过程中,本发明的技术方案还可以与其他去噪方案结合使用,以达到更好的去噪效果。具体选用的其他去噪方案,可根据业务应用的需要进行灵活设定。例如:可以使用以类似于“导火索”的方式来获取对应的线状干扰噪声值。具体地,可以先确定图像的起始点,然后再沿着图像的起始点向右依次确定噪声点。
在确定图像的起始点时,可以先从图像的左端开始,按照先列后行的顺序寻找灰度值为0也就是黑色的点,在该类型验证码中最左端遇到的通常即为条状噪声。对于第一列,将由上到下遍历时遇到的第一个黑色的点作为条状噪声曲线的上端点,将最后一个黑色的点作为条状噪声曲线的下端点,然后取上端点和下端点的均值即可得到该条状噪声曲线的第一列的中心Y坐标值,记为该条状噪声曲线的第一列的开始端点的Y坐标值,并将该值计作起始点的Y坐标值。然后向右侧继续进行第二列的查找和迭代,如果该条状噪声曲线的第二列的开始端点的Y坐标值,与第一列的开始端点的Y坐标值差不超过一个预定阈值(可根据经验进行设定,例如设定为2.4),则更新起始点的Y坐标值为第二列的开始端点的Y坐标值,并记录更迭次数。之后,向右侧继续进行第三列的查找和迭代,当更迭达到四次(可根据应用场景进行设定)的时候,当前列所对应的开始端点的Y坐标值即为我们所求的起始点的Y坐标值。例如为:[4,13],其中,在计算机程序中,一般是以图像的左上角为坐标原点,向右为X轴正方向,向下为Y轴正方向来生成图像的坐标系的,在表示一个像素点的坐标时,相应地是以该像素点的左上角的位置的坐标来表示该像素点的坐标。
在确定了图像的起始点之后,可以沿X轴坐标从左向右滑动,以求得的起始点作为开始,以二值化图像的终点作为结束,再以每个X坐标值对应预测的Y坐标值作为中点,向上减去某预设参数(可根据应用需要查找的噪声范围进行设定,例如:参数设定为12)作为起点,向下加上该预设参数作为终点,作为一个字符预测范围。当在这个范围中上下同时出现符合噪声的宽度阈值,并且多于一组数值即有多条轨迹线时,遍历该多条轨迹线,将起点和终点构成的区间内涵盖的由本发明实施例中求得的噪声曲线表达式预测到的噪声形成的轨迹线从图中去除。例如:图12中,字符“n”的中间横线部分和穿过字符“n”的线状干扰即构成了同一区间内的多条轨迹线。结合本发明实施例中的噪声曲线表达式,即可很好地进行噪声去除。
图14是根据本发明实施例的针对线状干扰的去噪装置的主要模块示意图。如图14所示,本发明实施例的针对线状干扰的去噪装置1400主要包括预处理模块1401、区间确定模块1402、端点确定模块1403、曲线求解模块1404和噪声预测模块1405。
预处理模块1401用于将原始图像进行预处理以得到二值化图像;
区间确定模块1402用于确定二值化图像中每个字符对应的坐标区间;
端点确定模块1403用于根据字符对应的坐标区间确定字符对应的首端点和末端点的坐标;
曲线求解模块1404用于根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;
噪声预测模块1405用于使用噪声曲线表达式预测噪声并去除。
根据本发明的一个实施例,区间确定模块1402还可以用于:
对所述二值化图像做垂直投影,以得到所述二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;
根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;
根据预设的字符宽度范围,对所述坐标区间集合进行调整,以得到每个字符对应的坐标区间。
根据本发明的实施例,对坐标区间集合进行调整具体可以包括:
步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;
步骤2:判断所述坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对所述坐标区间进行处理;
步骤3:将所述坐标区间的右区间值修改为与所述坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于所述预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;
步骤4:更新所述坐标区间并删除所述下一个坐标区间以更新所述坐标区间集合;
步骤5:若修改后的坐标区间的长度仍小于所述预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于所述预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对所述坐标区间进行的最后一次修改,然后更新所述坐标区间和所述坐标区间集合。
根据本发明的另一个实施例,端点确定模块1403还可以用于:
由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;
由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
根据本发明的又一个实施例,曲线求解模块1404还可以用于:
对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;
对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;
由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
根据本发明的又一个实施例,装置1400还可以包括间隔确定模块(图中未示出),用于:
在根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定所述字符间隔在预设的字符间隔范围之内。
根据本发明的再一个实施例,噪声预测模块1405还可以用于:
计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;
对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;
计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;
将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;
将所述第一噪声和所述第二噪声去除。
根据本发明实施例的技术方案,通过根据预处理后的二值化图像先确定字符对应的坐标区间,然后确定字符端点,再根据字符端点求解噪声曲线表达式,最后使用噪声曲线表达式预测噪声并去除,实现了准确确定字符,并根据字符与噪声曲线相交处的字符端点来求解噪声曲线,从而可以准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。另外,本发明在实现噪声精准去除的同时,还可以保全字符的完整性,提高字符切割的准确率;通过使用噪声曲线表达式进行准确去噪,从而获得干净的可识别字符,提高可识别度,降低数据复杂度与混淆度,减小所需训练样本的数据量,从而能够降低打标成本,缩小模型训练时间,最终提高单个字符的识别准确率。
图15示出了可以应用本发明实施例的针对线状干扰的去噪方法或针对线状干扰的去噪装置的示例性系统架构1500。
如图15所示,系统架构1500可以包括终端设备1501、1502、1503,网络1504和服务器1505。网络1504用以在终端设备1501、1502、1503和服务器1505之间提供通信链路的介质。网络1504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1501、1502、1503通过网络1504与服务器1505交互,以接收或发送消息等。终端设备1501、1502、1503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1501、1502、1503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1505可以是提供各种服务的服务器,例如对用户利用终端设备1501、1502、1503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的针对线状干扰的去噪方法一般由服务器1505执行,相应地,针对线状干扰的去噪装置一般设置于服务器1505中。
应该理解,图15中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图16,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统1600的结构示意图。图16示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图16所示,计算机系统1600包括中央处理单元(CPU)1601,其可以根据存储在只读存储器(ROM)1602中的程序或者从存储部分1608加载到随机访问存储器(RAM)1603中的程序而执行各种适当的动作和处理。在RAM 1603中,还存储有系统1600操作所需的各种程序和数据。CPU 1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(I/O)接口1605也连接至总线1604。
以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1607;包括硬盘等的存储部分1608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入存储部分1608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(CPU)1601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括预处理模块、区间确定模块、端点确定模块、曲线求解模块和噪声预测模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,预处理模块还可以被描述为“用于将原始图像进行预处理以得到二值化图像的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:将原始图像进行预处理以得到二值化图像;确定所述二值化图像中每个字符对应的坐标区间;根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标;根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;使用所述噪声曲线表达式预测噪声并去除。
根据本发明实施例的技术方案,通过根据预处理后的二值化图像先确定字符对应的坐标区间,然后确定字符端点,再根据字符端点求解噪声曲线表达式,最后使用噪声曲线表达式预测噪声并去除,实现了准确确定字符,并根据字符与噪声曲线相交处的字符端点来求解噪声曲线,从而可以准确地进行噪声曲线表达式的分段求解,更好地拟合噪声曲线,实现更准确地识别字符,进而提高整张验证码的识别成功率。另外,本发明在实现噪声精准去除的同时,还可以保全字符的完整性,提高字符切割的准确率;通过使用噪声曲线表达式进行准确去噪,从而获得干净的可识别字符,提高可识别度,降低数据复杂度与混淆度,减小所需训练样本的数据量,从而能够降低打标成本,缩小模型训练时间,最终提高单个字符的识别准确率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种针对线状干扰的去噪方法,其特征在于,包括:
将原始图像进行预处理以得到二值化图像;
确定所述二值化图像中每个字符对应的坐标区间;
根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标;
根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;
使用所述噪声曲线表达式预测噪声并去除。
2.根据权利要求1所述的去噪方法,其特征在于,确定所述二值化图像中每个字符对应的坐标区间包括:
对所述二值化图像做垂直投影,以得到所述二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;
根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;
根据预设的字符宽度范围,对所述坐标区间集合进行调整,以得到每个字符对应的坐标区间。
3.根据权利要求2所述的去噪方法,其特征在于,对所述坐标区间集合进行调整包括:
步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;
步骤2:判断所述坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对所述坐标区间进行处理;
步骤3:将所述坐标区间的右区间值修改为与所述坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于所述预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;
步骤4:更新所述坐标区间并删除所述下一个坐标区间以更新所述坐标区间集合;
步骤5:若修改后的坐标区间的长度仍小于所述预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于所述预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对所述坐标区间进行的最后一次修改,然后更新所述坐标区间和所述坐标区间集合。
4.根据权利要求1所述的去噪方法,其特征在于,根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标包括:
由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;
由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
5.根据权利要求1所述的去噪方法,其特征在于,根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式包括:
对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;
对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;
由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
6.根据权利要求1或5所述的去噪方法,其特征在于,根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,还包括:
根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定所述字符间隔在预设的字符间隔范围之内。
7.根据权利要求1所述的去噪方法,其特征在于,使用所述噪声曲线表达式预测噪声并去除包括:
计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;
对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;
计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;
将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;
将所述第一噪声和所述第二噪声去除。
8.一种针对线状干扰的去噪装置,其特征在于,包括:
预处理模块,用于将原始图像进行预处理以得到二值化图像;
区间确定模块,用于确定所述二值化图像中每个字符对应的坐标区间;
端点确定模块,用于根据所述字符对应的坐标区间确定所述字符对应的首端点和末端点的坐标;
曲线求解模块,用于根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式;
噪声预测模块,用于使用所述噪声曲线表达式预测噪声并去除。
9.根据权利要求8所述的去噪装置,其特征在于,所述区间确定模块还用于:
对所述二值化图像做垂直投影,以得到所述二值化图像对应X轴坐标的每一列包括的灰度值为0的像素点的个数;
根据包括的灰度值为0的像素点的个数大于预设的噪声阈值的列对应的X轴坐标得到坐标区间集合;
根据预设的字符宽度范围,对所述坐标区间集合进行调整,以得到每个字符对应的坐标区间。
10.根据权利要求9所述的去噪装置,其特征在于,对所述坐标区间集合进行调整包括:
步骤1:依次获取每个坐标区间,并对每个坐标区间执行以下步骤2至步骤5;
步骤2:判断所述坐标区间的长度是否小于预设的最小字符宽度,若是,则执行步骤3,否则,不对所述坐标区间进行处理;
步骤3:将所述坐标区间的右区间值修改为与所述坐标区间相邻的下一个坐标区间的右区间值,并判断修改后的坐标区间的长度是否位于所述预设的字符宽度范围内,若是,则执行步骤4,否则执行步骤5;
步骤4:更新所述坐标区间并删除所述下一个坐标区间以更新所述坐标区间集合;
步骤5:若修改后的坐标区间的长度仍小于所述预设的最小字符宽度,则重复执行上述步骤3,直至修改后的坐标区间的长度位于所述预设的字符宽度范围内,然后执行步骤4;若修改后的坐标区间的长度大于预设的最大字符宽度,则撤销对所述坐标区间进行的最后一次修改,然后更新所述坐标区间和所述坐标区间集合。
11.根据权利要求8所述的去噪装置,其特征在于,所述端点确定模块还用于:
由上至下依次读取所述坐标区间的左端点的左边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的首端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的首端点的下限点,并将所述首端点的上限点和所述首端点的下限点的中点作为所述字符对应的首端点;
由上至下依次读取所述坐标区间的右端点的右边一列包括的像素点的灰度值,将灰度值由255变为0时的灰度值为0的像素点作为所述字符对应的末端点的上限点,将灰度值由0变为255时的灰度值为0的像素点作为所述字符对应的末端点的下限点,并将所述末端点的上限点和所述末端点的下限点的中点作为所述字符对应的末端点。
12.根据权利要求8所述的去噪装置,其特征在于,所述曲线求解模块还用于:
对于非最后一个字符的每个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的下一个字符的首端点坐标作为一组取值来求解所述字符对应的第一子噪声曲线表达式,且所述第一子噪声曲线表达式对应的坐标区间为所述字符的首端点的X坐标值至所述下一个字符的首端点的X坐标值;
对于最后一个字符,以所述字符对应的首端点坐标、末端点坐标,及与所述字符相邻的上一个字符的末端点坐标作为一组取值来求解所述字符对应的第二子噪声曲线表达式,且所述第二子噪声曲线表达式对应的坐标区间为所述上一个字符的末端点的X坐标值至所述字符的末端点的X坐标值;
由非最后一个字符的每个字符对应的第一子噪声曲线表达式和最后一个字符对应的第二子噪声曲线表达式构成所述二值化图像的噪声曲线表达式。
13.根据权利要求8或12所述的去噪装置,其特征在于,还包括间隔确定模块,用于:
在根据每个字符对应的首端点和末端点的坐标求解噪声曲线表达式之前,根据每个字符对应的首端点和末端点的坐标,计算相邻的两个字符的字符间隔,并确定所述字符间隔在预设的字符间隔范围之内。
14.根据权利要求8所述的去噪装置,其特征在于,所述噪声预测模块还用于:
计算所述噪声曲线表达式对应的坐标区间内的每个X坐标值对应的Y坐标值;
对于每个X坐标值对应的列,以所述X坐标值对应的Y坐标值为中点,分别向上、向下获取与预设的噪声阈值相等个数的像素点,并将获取的像素点中灰度值为0的像素点保存到预测噪声集合中;
计算所述预测噪声集合中每个X坐标值对应的列包括的连续像素点的最大个数,将所述最大个数不大于所述预设的噪声阈值的列包括的像素点中与所述列对应的Y坐标值最接近的连续像素点确定为第一噪声;
将所述噪声曲线表达式对应的坐标区间之外的X坐标值对应的每一列包括的灰度值为0的像素点确定为第二噪声;
将所述第一噪声和所述第二噪声去除。
15.一种针对线状干扰的去噪的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201810886669.3A 2018-08-06 2018-08-06 针对线状干扰的去噪方法和去噪装置 Active CN109101974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810886669.3A CN109101974B (zh) 2018-08-06 2018-08-06 针对线状干扰的去噪方法和去噪装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810886669.3A CN109101974B (zh) 2018-08-06 2018-08-06 针对线状干扰的去噪方法和去噪装置

Publications (2)

Publication Number Publication Date
CN109101974A true CN109101974A (zh) 2018-12-28
CN109101974B CN109101974B (zh) 2020-09-01

Family

ID=64848876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810886669.3A Active CN109101974B (zh) 2018-08-06 2018-08-06 针对线状干扰的去噪方法和去噪装置

Country Status (1)

Country Link
CN (1) CN109101974B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060260A (zh) * 2019-04-12 2019-07-26 南京信息工程大学 一种图像处理方法及系统
CN111340040A (zh) * 2020-02-26 2020-06-26 五八有限公司 一种纸张字符识别方法、装置、电子设备及存储介质
CN112037213A (zh) * 2020-09-07 2020-12-04 深圳市凌云视迅科技有限责任公司 基于统计直方图的轮廓数据稳定特征点的获取方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090074292A1 (en) * 2007-09-18 2009-03-19 Microsoft Corporation Optimization of Multi-Label Problems in Computer Vision
CN105447508A (zh) * 2015-11-10 2016-03-30 上海珍岛信息技术有限公司 一种字符图像验证码识别的方法及系统
CN106599889A (zh) * 2016-12-17 2017-04-26 北京小米移动软件有限公司 一种识别字符的方法和装置
CN106920266A (zh) * 2015-12-28 2017-07-04 腾讯科技(深圳)有限公司 验证码的背景生成方法和装置
CN107220981A (zh) * 2017-06-22 2017-09-29 深圳怡化电脑股份有限公司 字符分割方法、装置、设备及存储介质
CN107273890A (zh) * 2017-05-26 2017-10-20 亿海蓝(北京)数据技术股份公司 针对字符组合的图形验证码识别方法及装置
CN107730454A (zh) * 2016-08-10 2018-02-23 苏州中科天启遥感科技有限公司 一种基于线追踪的线阵影像中横条纹噪声去除的改进算法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090074292A1 (en) * 2007-09-18 2009-03-19 Microsoft Corporation Optimization of Multi-Label Problems in Computer Vision
CN105447508A (zh) * 2015-11-10 2016-03-30 上海珍岛信息技术有限公司 一种字符图像验证码识别的方法及系统
CN106920266A (zh) * 2015-12-28 2017-07-04 腾讯科技(深圳)有限公司 验证码的背景生成方法和装置
CN107730454A (zh) * 2016-08-10 2018-02-23 苏州中科天启遥感科技有限公司 一种基于线追踪的线阵影像中横条纹噪声去除的改进算法
CN106599889A (zh) * 2016-12-17 2017-04-26 北京小米移动软件有限公司 一种识别字符的方法和装置
CN107273890A (zh) * 2017-05-26 2017-10-20 亿海蓝(北京)数据技术股份公司 针对字符组合的图形验证码识别方法及装置
CN107220981A (zh) * 2017-06-22 2017-09-29 深圳怡化电脑股份有限公司 字符分割方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱玲莹: "粘连字符验证码的识别研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060260A (zh) * 2019-04-12 2019-07-26 南京信息工程大学 一种图像处理方法及系统
CN111340040A (zh) * 2020-02-26 2020-06-26 五八有限公司 一种纸张字符识别方法、装置、电子设备及存储介质
CN111340040B (zh) * 2020-02-26 2023-09-12 五八有限公司 一种纸张字符识别方法、装置、电子设备及存储介质
CN112037213A (zh) * 2020-09-07 2020-12-04 深圳市凌云视迅科技有限责任公司 基于统计直方图的轮廓数据稳定特征点的获取方法及装置

Also Published As

Publication number Publication date
CN109101974B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN109101974A (zh) 针对线状干扰的去噪方法和去噪装置
CN109558479A (zh) 一种规则匹配方法、装置、设备及存储介质
CN110502985A (zh) 表格识别方法、装置及表格识别设备
US11657101B2 (en) Document information extraction system using sequenced comparators
CN105989076A (zh) 一种数据统计方法以及装置
CN103324674B (zh) 网页内容选取方法及装置
CN109447635A (zh) 用于区块链的信息存储方法和装置
CN106657192A (zh) 一种用于呈现服务调用信息的方法与设备
EP3208764A1 (en) Methods and systems for dynamic design of insurance products
CN111523531B (zh) 文字处理方法、装置、电子设备及计算机可读存储介质
CN109886311A (zh) 增量聚类方法、装置、电子设备和计算机可读介质
CN108959359A (zh) 一种统一资源定位符语义去重方法、装置、设备和介质
CN108965575A (zh) 一种手势动作识别方法、装置和终端设备
CN107329947A (zh) 相似文本的确定方法、装置及设备
CN109871743B (zh) 文本数据的定位方法及装置、存储介质、终端
US20210390702A1 (en) System and Method for Triggering Machine Learning (ML) Annotation Model Retraining
CN112084448B (zh) 相似信息处理方法以及装置
US20160048794A1 (en) Project and task status indicator generator using baseline metrics
KR101946842B1 (ko) 데이터 탐색 장치
CN104899908A (zh) 生成事件组演化图的方法和装置
CN108170683B (zh) 用于获取信息的方法和装置
US10031894B2 (en) Method and apparatus of building intermediate character library
JP7362424B2 (ja) 情報処理装置、情報処理方法、および情報処理システム
CN113626903A (zh) 一种道路曲线设置方法、装置、电子设备及存储介质
CN103593532A (zh) 用于制图的数据处理方法和装置

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
CB02 Change of applicant information

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Patentee after: Jingdong Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Patentee before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Patentee after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Patentee before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CP01 Change in the name or title of a patent holder