首页 / 专利库 / 银行与财务事项 / 纸币 / 边缘检测方法及验钞设备

边缘检测方法及验钞设备

阅读:395发布:2020-05-08

专利汇可以提供边缘检测方法及验钞设备专利检索,专利查询,专利分析的服务。并且本 发明 涉及 纸币 检验技术领域,提供一种 边缘检测 方法及验钞设备。该边缘检测方法首先采集待检验纸币的图像,然后确定采集到的图像中用于检测待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行,并在此 基础 上进一步将至少一个待检测行中的每个待检测行与至少两个待检测列的交点确定为一个待检测 像素 点集合,随后基于至少一个待检测像素点集合检测获得至少两个边缘点,最后基于至少两个边缘点拟合获得用于表征第一边缘的第一直线。该边缘检测方法步骤简单,计算量小,执行效率高。应用了该边缘检测方法的验钞设备,能够快速完成纸币的检验工作,适于在短时间内对大量纸币进行检验。,下面是边缘检测方法及验钞设备专利的具体信息内容。

1.一种边缘检测方法,应用于验钞设备中,其特征在于,包括:
采集待检验纸币的图像;
确定所述图像中用于检测所述待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行;
确定所述至少一个待检测行中的每个待检测行与所述至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合;
基于所述至少一个待检测像素点集合检测获得至少两个边缘点;
基于所述至少两个边缘点拟合获得用于表征所述第一边缘的第一直线,以使所述验钞设备能够根据所述第一直线校正所述图像;
所述基于所述至少一个待检测像素点集合检测获得至少两个边缘点,包括:
获得所述至少一个待检测像素点集合中的第一待检测像素点集合中的至少两个待检测像素点;
获得所述至少两个待检测像素点中的第一待检测像素点的至少一个第一相邻像素点;
获得所述第一待检测像素点的与所述第一相邻像素点数量相同的至少一个第二相邻像素点;
计算获得所述至少一个第一相邻像素点的第一像素和以及所述至少一个第二相邻像素点的第二像素和;
判断所述第一像素和与所述第二像素和之差是否大于第一预设阈值
在为是时,确定所述第一待检测像素点为一个边缘点;
所述确定所述图像中用于检测所述待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行,包括:
确定所述图像中显示有所述待检验纸币的有效区域;
确定所述有效区域内的至少两个待检测列;
确定所述有效区域内的至少一个待检测行;
所述确定所述有效区域内的至少两个待检测列,包括:
确定所述有效区域内按第一预设间隔分布的至少两个像素列为至少两个待检测列;
所述确定所述有效区域内的至少一个待检测行,包括:
确定所述有效区域内按第二预设间隔分布的至少两个像素行;
确定所述至少两个像素行中的第一像素行与所述至少两个待检测列的交点为第一像素集合;
确定所述至少两个像素行中的第二像素行与所述至少两个待检测列的交点为第二像素集合;
计算获得所述第一像素集合的第三像素和以及所述第二像素集合的第四像素和;
判断所述第三像素和与所述第四像素和之差是否大于第二预设阈值;
在为是时,确定所述第一像素行与所述第二像素行之间的至少一个像素行为至少一个待检测行。
2.根据权利要求1所述的边缘检测方法,其特征在于,所述获得所述至少两个待检测像素点中的第一待检测像素点的至少一个第一相邻像素点,包括:
获得所述第一待检测像素点集合所在的第一待检测行的至少一个第一相邻像素行;
按行方向依次遍历所述至少一个第一相邻像素行,确定所述至少一个第一相邻像素行中的每个第一相邻像素行与所述至少两个待检测列的交点为一个第一相邻像素集合,共至少一个第一相邻像素集合;
基于所述至少一个第一相邻像素集合获得至少一个第一相邻像素点。
3.一种验钞设备,其特征在于,包括:
图像采集,用于采集待检验纸币的图像;
待检测行列确定模块,用于确定所述图像中用于检测所述待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行;
待检测点确定模块,用于确定所述至少一个待检测行中的每个待检测行与所述至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合;
边缘检测模块,用于基于所述至少一个待检测像素点集合检测获得至少两个边缘点;
边缘拟合模块,用于基于所述至少两个边缘点拟合获得用于表征所述第一边缘的第一直线,以使所述验钞设备能够根据所述第一直线校正所述图像;
所述边缘检测模块包括:
待检测点获取单元,用于获得所述至少一个待检测像素点集合中的第一待检测像素点集合中的至少两个待检测像素点;
第一相邻点获取单元,用于获得所述至少两个待检测像素点中的第一待检测像素点的至少一个第一相邻像素点;
第二相邻点获取单元,用于获得所述第一待检测像素点的与所述第一相邻像素点数量相同的至少一个第二相邻像素点;
像素和计算单元,用于计算获得所述至少一个第一相邻像素点的第一像素和以及所述至少一个第二相邻像素点的第二像素和;
像素和判断单元,用于判断所述第一像素和与所述第二像素和之差是否大于第一预设阈值;
边缘点确定单元,用于在为是时,确定所述第一待检测像素点为一个边缘点;
所述待检测行列确定模块包括:
有效区域确定单元,用于确定所述图像中显示有所述待检验纸币的有效区域;
待检测列确定单元,用于确定所述有效区域内的至少两个待检测列;
待检测行确定单元,用于确定所述有效区域内的至少一个待检测行;
所述待检测列确定单元确定所述有效区域内的至少两个待检测列,包括:
确定所述有效区域内按第一预设间隔分布的至少两个像素列为至少两个待检测列;
所述待检测行确定单元确定所述有效区域内的至少一个待检测行,包括:
确定所述有效区域内按第二预设间隔分布的至少两个像素行;
确定所述至少两个像素行中的第一像素行与所述至少两个待检测列的交点为第一像素集合;
确定所述至少两个像素行中的第二像素行与所述至少两个待检测列的交点为第二像素集合;
计算获得所述第一像素集合的第三像素和以及所述第二像素集合的第四像素和;
判断所述第三像素和与所述第四像素和之差是否大于第二预设阈值;
在为是时,确定所述第一像素行与所述第二像素行之间的至少一个像素行为至少一个待检测行。
4.根据权利要求3所述的验钞设备,其特征在于,所述第一相邻点获取单元包括:
第一相邻行获取子单元,用于获得所述第一待检测像素点集合所在的第一待检测行的至少一个第一相邻像素行;
第一行遍历子单元,用于按行方向依次遍历所述至少一个第一相邻像素行,确定所述至少一个第一相邻像素行中的每个第一相邻像素行与所述至少两个待检测列的交点为一个第一相邻像素集合,共至少一个第一相邻像素集合;
第一相邻点获取子单元,用于基于所述至少一个第一相邻像素集合获得至少一个第一相邻像素点。

说明书全文

边缘检测方法及验钞设备

技术领域

[0001] 本发明涉及纸币检验技术领域,具体而言,涉及一种边缘检测方法及验钞设备。

背景技术

[0002] 目前,在检验纸币真伪时,一种主流的技术解决方案是:当用户将待检验的纸币放入验钞设备后,验钞设备首先采集获得待检验纸币的图像,然后基于该图像识别出待检验纸币的某些图像特征,最后将这些图像特征和验钞设备内的预设图像特征做对比从而鉴定出纸币的真伪,其中,预设图像特征为国家规定的真钞的图像特征。在上述纸币检验步骤中,验钞设备采集获得的纸币图像是后续检验步骤的基础,其重要性尤为突出。由于用户将纸币放入验钞设备时是随机放入,纸币可能向各方向倾斜,因此验钞设备在采集到待检验纸币的原始图像后,会首先在原始图像上检测并拟合出纸币的边缘,然后基于拟合出的纸币边缘的方向校正该原始图像,在校正后的图像中,待检验纸币在图像中的方向是统一的,从而后续检验步骤进行统一处理,提高处理效率。
[0003] 现有技术中,在原始图像上检测纸币的边缘时,所采用的边缘检测方法一般较复杂,并未针对验钞设备中的纸币边缘检测这一特定应用场景做出相应的优化,其效率比较低下,严重制约了整个纸币检验过程的执行效率。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种边缘检测方法及验钞设备,以改善现有技术中纸币检验效率不高的问题。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 第一方面,本发明实施例提供一种边缘检测方法,应用于验钞设备中,包括:
[0007] 采集待检验纸币的图像;
[0008] 确定图像中用于检测待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行;
[0009] 确定至少一个待检测行中的每个待检测行与至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合;
[0010] 基于至少一个待检测像素点集合检测获得至少两个边缘点;
[0011] 基于至少两个边缘点拟合获得用于表征第一边缘的第一直线,以使验钞设备能够根据第一直线校正图像。
[0012] 第二方面,本发明实施例提供一种验钞设备,包括:
[0013] 图像采集,用于采集待检验纸币的图像;
[0014] 待检测行列确定模块,用于确定图像中用于检测待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行;
[0015] 待检测点确定模块,用于确定至少一个待检测行中的每个待检测行与至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合;
[0016] 边缘检测模块,用于基于至少一个待检测像素点集合检测获得至少两个边缘点;
[0017] 边缘拟合模块,用于基于至少两个边缘点拟合获得用于表征第一边缘的第一直线,以使验钞设备能够根据第一直线校正图像。
[0018] 本发明实现的有益效果:本发明实施例提供的边缘检测方法及验钞设备,首先采集待检验纸币的图像,然后确定采集到的图像中用于检测待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行,并在此基础上进一步将至少一个待检测行中的每个待检测行与至少两个待检测列的交点确定为一个待检测像素点集合,随后基于至少一个待检测像素点集合检测获得至少两个边缘点,最后基于至少两个边缘点拟合获得用于表征第一边缘的第一直线。可见,在本发明实施例提供的边缘检测方法中,其检测的像素点仅仅是由待检测行与待检测列的交点所构成的至少一个待检测像素点集合中的像素点,而不是整个待检验纸币图像中的所有像素点,从而适当地选取待检测行和带检测列,可以使边缘检测过程的计算量显著下降,能够快速完成对待检验纸币边缘的检测,从而验钞设备在此基础上能够快速完成对待检验纸币的图像的校正,进而可以解决现有技术中验钞设备检验效率不高的问题,适于对大量纸币快速进行检验。
[0019] 为使本发明的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。

附图说明

[0020] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0021] 图1示出了本发明实施例提供的边缘检测方法的流程图
[0022] 图2示出了本发明实施例提供的边缘检测方法的步骤S2的流程图;
[0023] 图3示出了本发明实施例提供的边缘拟合方法的步骤S22的流程图;
[0024] 图4示出了本发明实施例提供的边缘拟合方法的步骤S4的流程图;
[0025] 图5示出了本发明实施例提供的验钞设备的功能模块图。

具体实施方式

[0026] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0028] 第一实施例
[0029] 本发明实施例提供的边缘检测方法可以应用于,但不限于应用与验钞设备中,在其他需要进行边缘检测的应用场景中根据具体需求也可以采用本发明实施例提供的边缘检测方法。图1示出了本发明实施例提供的边缘检测方法的流程图。参照图1,该方法包括:
[0030] 步骤S1:采集待检验纸币的图像。
[0031] 当用户将纸币塞进验钞设备后,可以通过验钞设备内设置的接触式图像传感器(ContactImageSensor,CIS)采集获得待检验纸币的图像。
[0032] 步骤S2:确定所述图像中用于检测所述待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行。
[0033] 第一边缘可以是待检验纸币四条边缘中的任意一条边缘。在背景技术中提到,验钞设备会根据待检验纸币图像中纸币边缘的倾斜情况校正纸币图像。假设将待检验纸币的四条边缘分别与纸币图像的行方向或列方向平行的情况视为纸币的位置不存在倾斜,在绝大多数情况下,用户放入验钞设备的纸币虽然可能存在倾斜,但倾斜程度均不大,即待检验纸币的四条边缘中总是有两条大致沿行方向分布,另两条大致沿列方向分布。本发明实施例提供的边缘检测方法,是针对第一边缘大致沿图像的行方向分布的情况提出的,但实际上对于第一边缘大致沿图像的列方向分布的情况该方法稍加调整后也同样适用。在下文中,为简便阐述,仍然以第一边缘大致沿图像的行方向分布的情况为例进行阐述,但并不代表该边缘检测方法仅能用于第一边缘大致沿图像的行方向分布的情况。
[0034] 现有技术中的边缘检测方法,一般需要遍历图像中所有的像素点以检测出边缘位置,计算量大,耗时长,并且采用的算法一般也较为复杂,并不适于纸币检验这一需要快速响应的特殊环境。发明人经长期研究发现,在绝大多数情况下,待检验纸币都是比较完好的,其第一边缘呈一直线或近似直线,众所周知只要两个点就能唯一确定一条直线的位置,所以对于第一边缘的检测,其实并不需要检测出第一边缘在图像上所对应的所有边缘点的位置,而只需要检测出其中至少两个边缘点的位置就可以在步骤S5中拟合出用于表征第一边缘的第一直线了,当然检测出的边缘点越多拟合出的第一直线会越精确,可以根据实际需求进行选择,但一般而言,检测出一定数量的边缘点(至少两个,但该数量远远小于第一边缘在纸币图像中对应的实际边缘点的总数量)就已经能够满足第一直线的拟合精度要求,从而可以大幅加快边缘检测的速度。在本发明实施例提供的方法中,先确定至少两个待检测列以及至少一个待检测行,在后续步骤中仅在待检测行与待检测列的至少两个交点处执行边缘检测以获得至少两个边缘点,其边缘检测的执行效率相对于现有技术中遍历每个像素点的方法大大提高。
[0035] 图2示出了本发明实施例提供的边缘检测方法的步骤S2的流程图。参照图2,步骤S2可以包括:
[0036] 步骤S20:确定所述图像中显示有所述待检验纸币的有效区域。有效区域是指待检验纸币图像中实际包含有待检验纸币的区域,实际中,由于接触式图像传感器自身的特性,在采集到的纸币图像中,除待检验纸币以外,靠近图像边缘位置可能还显示有一些相关信息,这些信息与边缘检测过程无关,在边缘检测时可以将其排除,以获得纸币图像中实际包含有待检验纸币的有效区域,有效区域的面积小于原始图像,在有效区域上进行边缘检测效率更高,同时还可以避免上述相关信息对边缘检测结果的干扰。在本发明实施例的一种实施方式中,可以获得图像传感器的自身特性,以确定有效区域在打检验纸币图像中的位置,例如,纸币图像共1200列,有效区域为其中100列至1000列之间的所有列,为简便阐述,在步骤S21以及步骤S22中对有效区域进行举例阐述时,均以该例子中的有效区域为基础进行阐述。
[0037] 步骤S21:确定所述有效区域内的至少两个待检测列。
[0038] 有效区域内待检测列可以根据用户需求任意确定,在本发明实施例的一种实施方式中,将效区域内按第一预设间隔分布的至少两个像素列确定为至少两个待检测列。例如,第一预设间隔为50列,则确定的待检测列为有效区域的第0列(对应纸币图像的第100列)、第50列、第100列、...、第900列,相当于以50列为间隔对有效区域进行等间隔采样
[0039] 步骤S22:确定所述有效区域内的至少一个待检测行。
[0040] 有效区域相对于待检验纸币的原始图像,其检测范围已经有所缩小,但对于大致沿图像的行方向分布的第一边缘,其在纸币图像上的分布区域一般仅包括一定数量的像素行(该数量远小于有效区域的总行数),首先确定纸币图像中第一边缘的分布区域,然后在该分布区域中确定待检测行。
[0041] 图3示出了本发明实施例提供的边缘拟合方法的步骤S22的流程图。参照图3,步骤S22可以包括:
[0042] 步骤S220:确定所述有效区域内按第二预设间隔分布的至少两个像素行。
[0043] 为确定上述第一边缘的分布区域,首先在有效区域内确定至少两个像素行,然后判断第一边缘是否分布在所述至少两个像素行中的第一像素行和第二像素行之间。所述至少两个像素行可以根据用户需求任意确定。在本发明实施例的一种实施方式中,在效区域内按第二预设间隔确定所述至少两个像素行,例如,第二预设间隔为50行,取有效区域内的第0行、第50行、第100行等为所述至少两个像素行,相当于以50行为间隔对有效区域进行等间隔采样。
[0044] 步骤S221:确定所述至少两个像素行中的第一像素行与所述至少两个待检测列的交点为第一像素集合。
[0045] 步骤S222:确定所述至少两个像素行中的第二像素行与所述至少两个待检测列的交点为第二像素集合。
[0046] 步骤S221和步骤S222中的至少两个待检测列是指步骤S21中确定的至少两个待检测列。第一像素行和第二像素行可以从步骤S220中确定的至少两个像素行中任意选取,作为一种可选的实施方式,选取所述至少两个像素行中相邻的两个像素行分别作为第一像素行和第二像素行。例如,当所述至少两个像素行以50行为第二预设间隔等间隔分布时,有效区域的第0行和第50行就是两个相邻的像素行,显然此处所称的相邻,是指第一像素行和第二像素行之间恰好相隔第二预设间隔。取第一像素行为有效区域的第0行,第一像素集合为第0行的第0个像素点、第50个像素点、第100个像素点、...、第900个像素点所构成的像素点集合,取第二像素行为有效区域的第50行,第二像素集合为第50行的第0个像素点、第50个像素点、第100个像素点、...、第900个像素点所构成的像素点集合。
[0047] 步骤S223:计算获得所述第一像素集合的第三像素和以及所述第二像素集合的第四像素和。
[0048] 计算第一像素集合中每个像素点的像素值之和,其结果记为第三像素和,以及计算第二像素集合中每个像素点的像素值之和,其结果记为第四像素和。其中所称的像素值,对于灰度图像,就是像素点的灰度值,对于彩色图像,可以是像素点的某一个颜色分量的值。
[0049] 步骤S224:判断所述第三像素和与所述第四像素和之差是否大于第二预设阈值
[0050] 步骤S225:在为是时,确定所述第一像素行与所述第二像素行之间的至少一个像素行为至少一个待检测行。
[0051] 一般而言,在待检验纸币的图像的有效区域中,将纸币本身以外的区域称为背景区域,背景区域的颜色和纸币本身的颜色差异显著,或者说在验钞设备中可以适当设置采集待检验纸币图像时的背景,使采集到的纸币图像中背景区域的颜色和纸币本身的颜色差异显著。这种颜色差异体现为背景区域内的像素点的像素值和纸币本身所在区域内的像素点的像素值存在显著差异。也即是说,如果第一像素集合中的绝大多数像素点位于背景区域内,第二像素集合中的绝大多数像素点位于纸币本身所在的区域内,第三像素和与四像素和之间必然存在较大差值。但是,整个背景区域内的颜色是相近的,整个纸币所在区域内的颜色也是相近的。所以,如果第一像素集合中的绝大多数像素点以及第二像素集合中的绝大多数像素点均位于背景区域内,或者第一像素集合中的绝大多数像素点以及第二像素集合中的绝大多数像素点均位于纸币本身所在的区域内,第三像素和与第四像素和之间并不存在较大差值。基于上述原理,步骤S224中计算第三像素和与第四像素和之差(结果可以取绝对值),判断其是否大于第二预设阈值,如果结果为是,表明第一像素行位于背景区域,第二像素行位于纸币本身所在的区域,或者第一像素行位于纸币本身所在的区域,第二像素行位于背景区域,总之,第一边缘的分布区域在第一像素行与第二像素行之间。如果结果为否,表明第一边缘的分布区域不在第一像素行与第二像素行之间,可以重新选取第一像素行与第二像素行,例如,重新选取有效区域的第50行作为第一像素行,选取有效区域的第100行作为第二像素行,重新执行步骤S221至步骤S225,直至确定除第一边缘的分布区域。
进一步地,在确定出第一边缘的分布区域后,还可以在第一像素行以及第二像素行之间选取较小的第二预设间隔,多次执行步骤S220至步骤S225,确定出第一边缘的精确分布区域。
例如,首先取第二预设间隔为50行,确定出第一边缘分布在有效区域的第0行和第50行之间,此时,第一像素行为有效区域的第0行,第二像素行为有效区域的第50行。再进一步取第二预设间隔为10行,确定出第一边缘分布在有效区域的第20行和第30行之间,此时,第一像素行为有效区域的第20行,第二像素行为有效区域的第30行。在步骤S225的最后,在第一像素行与第二像素行之间,确定至少一个待检测行。在本发明实施例的一种可选的实施方式中,将第一像素行与第二像素行之间的所有像素行均作为待检测行。
[0052] 显然,确定出第一边缘的分布区域后,对第一边缘的检测仅需要在该分布区域内进行,该分布区域的面积一般远小于有效区域的面积,边缘检测的所需的运算量进一步缩小。
[0053] 步骤S3:确定所述至少一个待检测行中的每个待检测行与所述至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合。
[0054] 待检测行与待检测列的交点为待检测像素点,适当地选取待检测行和待检测列,可以使待检测像素点的数量远小于待检验纸币图像中的像素点的总数量。例如,根据步骤S2中的描述,在本发明实施例的一种实施方式中,待检测行仅为有效区域中第一像素行与第二像素行之间的所有像素行,其数量远小于纸币图像的像素行总数,而待检测列的数量仅为有效区域中按第一间隔分布的像素列,其数量远小于纸币图像的像素列总数,因此在该实施方式下,作为待检测行与待检测列的交点的待检测像素点的数量远小于纸币图像中的像素点的总数量。仅在待检测像素点上检测第一边缘的边缘点,其效率相对于现有边缘检测方法显著提高。同时,由于在绝大多数情况下第一边缘都近似呈直线,边缘在局部不存在剧烈变化,因此这种在特定像素行和像素列上抽样检测的边缘检测方式已经能够提供足够的检测精度,如果担心检测精度不够,只需要选取更多的待检测行和待检测列就可以了,操作上十分灵活。
[0055] 此外,在检测时,以待检测行为单位进行检测,即将每个待检测行上的待检测像素点作为一个待检测像素点集合进行检测,检测完一个待检测行,再检测下一个待检测行。理论上来说,以待检测列为单位进行检测也是可以的。但是,发明人经长期研究发现,现有的绝大多数图像标准中,在存储图像时,都是将图像按行方向从左到右按列方向从上到下扫描后连续地保存在随机存取存储器(如内存)上的,图像处理程序则是通过指针的移动对每个像素点对应的存储单元进行访问,边缘检测算法均涉及大量的指针移动,因此指针的移动效率对边缘检测算法的执行效率的影响很大,一般而言,指针移动的距离越长,耗时越长。基于上述研究结论,以待检测行为单位进行检测,依次访问一行中的每个待检测像素点,其涉及的指针移动范围较小,假设待检测列按第一预设间隔分布,在访问同一个待检测行中的两个相邻待检测像素点时,指针仅需移动第一预设间隔;反之,如果以待检测列为单位进行检测,依次访问一列中的每个待检测像素点,其涉及的指针移动范围较大,假设待检测行连续分布,在访问同一个待检测列中的两个相邻待检测像素点时,指针需移动纸币图像中一行的长度,该长度一般远大于第一预设间隔。所以,本发明实施例提供的边缘检测方法,在具体实施时,考虑到现有技术标准中图像的存储特性,为减少检测过程中的指针的移动距离,将边缘检测操作设置为以待检测行上的待检测像素点集合为单位,按行方向依次检测。
[0056] 步骤S4:基于所述至少一个待检测像素点集合检测获得至少两个边缘点。
[0057] 依次检测每个待检测像素点集合,获得至少两个边缘点。作为一种可选的实施方式,每个待检测列上检测出一个边缘点后就不再继续检测该列上的其余待检测像素点,例如,两个相邻的待检测像素点集合,其中的第一待检测像素点集合为有效区域的第20行的第0个像素点、第50个像素点、第100个像素点、...、第900个像素点所构成的像素点集合,其中的第二待检测像素点集合为第21行的第0个像素点、第50个像素点、第100个像素点、...、第900个像素点所构成的像素点集合。如果第20行的第0个像素点已经检测为边缘点,在检测第21行时,可以直接跳过该行的第0个像素点,不对其进行检测,该实施方式可以进一步加快检测速度。
[0058] 图4示出了本发明实施例提供的边缘拟合方法的步骤S4的流程图。参照图4,步骤S4可以包括:
[0059] 步骤S40:获得所述至少一个待检测像素点集合中的第一待检测像素点集合中的至少两个待检测像素点。
[0060] 第一待检测像素点集合可以是至少一个待检测像素点集合中的任意一个待检测像素点集合,每个待检测像素点集合的处理过程都是类似的。按行方向依次遍历第一待检测像素点集合中的所有待检测像素点进行检测。其所采用的检测方法可以是步骤S41至步骤S45所提供的方法,也可以采用现有的其他边缘检测方法,步骤S41至步骤S45所提供的方法可以用代码描述如下:
[0061]
[0062] 其中,pucImg为待检验纸币的图像,其每一像素行的长度为iWidth,iStart为每一像素行中有效区域的开始位置,i为第一待检测像素点集合所在的纸币图像中的行序号,待检测列共有iLen个,按间隔iDelta分布,第一待检测像素点集合包括:
[0063] pucImg[i*iWidth+iStart]
[0064] pucImg[i*iWidth+iDelta+iStart]
[0065] pucImg[i*iWidth+2*iDelta+iStart]
[0066] ...
[0067] pucImg[i*iWidth+(iLen-1)*iDelta+iStart]
[0068] 该方法在外层的For循环中通过行循环变量k遍历图像的第i-4个像素行至第i+4个像素行,并在内层的For循环中通过列循环变量j将第i-4个像素行至第i个行像素行中每个待检测列上的像素点的像素值相加,结果存储到数组aiColUp中,例如,对于j=0的第0个待检测列:
[0069] aiColUp[0]=pucImg[(i-4)*iWidth+iStart]+pucImg[(i-3)*iWidth+iStart]+pucImg[(i-2)*iWidth+iStart]+pucImg[(i-1)*iWidth+iStart]+pucImg[i*iWidth+iStart]
[0070] 以此类推,显然,数组aiColUp中共有iLen个像素和,分别对应iLen个待检测列。类似的,该方法还在内层的For循环中通过列循环变量j将第i个像素行至第i+4个行像素行中每个待检测列上的像素点的像素值相加,结果存储到数组aiColDown中,显然,数组aiColDown中共有iLen个像素和,分别对应iLen个待检测列。根据阐述步骤S224时所提到的原理,取j=0至iLen,依次求aiColUp[j]与aiColDown[j]之差(结果可以取绝对值),若其结果大于预设阈值,则可以确定pucImg[i*iWidth+j*iDelta+iStart]为一个边缘点。检测完第i个像素行后,在检测第i+1个像素行时,可以利用检测第i个像素行时的计算结果。例如,在第i+1个像素行中,对于j=0的第0个待检测列:
[0071] aiColUp[0]=pucImg[(i-3)*iWidth+iStart]+pucImg[(i-2)*iWidth+iStart]+pucImg[(i-1)*iWidth+iStart]+pucImg[i*iWidth+iStart]+pucImg[(i+1)*iWidth+iStart]
[0072] 实际上和检测第i个像素行时计算的的aiColUp[0]有四个构成元素都是相同的,完全可以利用之前的计算结果以避免冗余运算。需要指出,上述方法中在访问第i-4个像素行至第i+4个像素行中的像素点时,其访问过程是按行方向依次访问的。
[0073] 具体而言,在访问完第i-4个像素行后:
[0074] aiColUp[0]=pucImg[(i-4)*iWidth+iStart]
[0075] 在访问完第i-3个像素行后:
[0076] aiColUp[0]=pucImg[(i-4)*iWidth+iStart]+pucImg[(i-3)*iWidth+iStart]
[0077] 可见,数组aiColUp中的每个元素并不是一次性计算完成的,而是在遍历第i-4个像素行至第i+4个像素行的过程中逐步累加完成的,在访问同一待检测像素集合中的像素点时,指针每次只需要移动iDelta就可以了,指针的跨行移动次数很少,只有在外层循环中的k自增后指针才需要跨行移动。因此,该方法的设计充分考虑了阐述S3时所提到的图像的存储特性,其执行效率非常高。
[0078] 步骤S41:获得所述至少两个待检测像素点中的第一待检测像素点的至少一个第一相邻像素点。
[0079] 第一待检测像素点可以是第一待检测像素点集合中的任意一个待检测像素点,每个待检测像素点的处理过程都是类似的。第一待检测像素点的至少一个第一相邻像素点可以有多种定义方式,例如将第一相邻像素点定义为第一待检测像素点所在的待检测列上与第一待检测像素点相邻且其所在的行序号小于第一待检测像素点所在的行序号的预设数量个像素点。
[0080] 例如上述代码中,第一待检测像素点为:
[0081] pucImg[i*iWidth+iStart]
[0082] 第一相邻像素点为:
[0083] pucImg[(i-4)*iWidth+iStart]
[0084] pucImg[(i-3)*iWidth+iStart]
[0085] pucImg[(i-2)*iWidth+iStart]
[0086] pucImg[(i-1)*iWidth+iStart]
[0087] 共四个像素点。将第一待检测像素点集合所在的像素行称为第一待检测行,至少一个第一相邻像素点可以从第一待检测行的至少一个第一相邻像素行中获取,例如上述代码中,第一待检测行为纸币图像的第i个像素行,四个第一相邻像素点分别是从纸币图像的第i-4个像素行、第i-3个像素行、第i-2个像素行、第i-1个像素行获取的。其获取方式是按行方向依次遍历每个第一相邻像素行进行获取,每遍历一个第一相邻像素行,可以获取到该第一相邻像素行与至少两个待检测列的全部交点的集合:与该第一相邻像素行对应的一个第一相邻像素集合。例如上述代码中,遍历完纸币图像的第i-4个像素行后,获取到相应的第一相邻像素集合为pucImg[(i-4)*iWidth+j*iDelta+iStart],其中j可以取1至iLen。遍历完所有的第一相邻像素行后,共获取到与第一相邻像素行个数相同的至少一个第一相邻像素集合。显然,至少一个第一相邻像素点就包含在至少一个第一相邻像素集合中的每个第一相邻像素集合中,从而可以基于至少一个第一相邻像素集合获取到至少一个第一相邻像素点。例如上述代码中,第一待检测像素点的第一相邻像素点pucImg[(i-4)*iWidth+iStart]就包含在第一相邻像素集合pucImg[(i-4)*iWidth+j*iDelta+iStart]中。根据图像的存储特性,上述采用按行方向遍历获得至少一个第一相邻像素点的方式效率很高。
[0088] 步骤S42:获得所述第一待检测像素点的与所述第一相邻像素点数量相同的至少一个第二相邻像素点。
[0089] 步骤S42和步骤S41类似,第一待检测像素点的至少一个第二相邻像素点可以有多种定义方式,例如将第二相邻像素点定义为第一待检测像素点所在的待检测列上与第一待检测像素点相邻且其所在的行序号大于第一待检测像素点所在的行序号的预设数量个像素点。第二相邻像素点的个数一般应该与第一相邻像素点的个数相同,以保证步骤S43以及步骤S44中的求和比较是有意义的。
[0090] 步骤S43:计算获得所述至少一个第一相邻像素点的第一像素和以及所述至少一个第二相邻像素点的第二像素和。
[0091] 计算至少一个第一相邻像素点中每个第一相邻像素点的像素值之和,其结果记为第一像素和,以及计算至少一个第二相邻像素点中每个第二相邻像素点的像素值之和,其结果记为第二像素和。其中所称的像素值,对于灰度图像,就是像素点的灰度值,对于彩色图像,可以是像素点的某一个颜色分量的值,也可以先将彩色图像转换为灰度图像再处理。在上述代码中,若第一待检测像素点为pucImg[i*iWidth+iStart],则第一像素和为aiColUp[0],第二像素和为aiColDown[0](实际上aiColUp[0]不是严格意义上的第一像素和,因为在计算aiColUp[0]时将pucImg[i*iWidth+iStart]也计算进去了,同理aiColDown[0]也不是严格意义上的第二像素和,但在步骤S44中二者相减并不影响判断结果)[0092] 步骤S44:判断所述第一像素和与所述第二像素和之差是否大于第一预设阈值。
[0093] 步骤S45:在为是时,确定所述第一待检测像素点为一个边缘点。
[0094] 根据阐述步骤S224时所提到的原理,例如,求aiColUp[0]与aiColDown[0]之差(结果可以取绝对值),若其结果大于预设阈值,则可以确定第一待检测像素点为一个边缘点。
[0095] 值得注意,在步骤S41至步骤S45所提供的方法中,对于第一待检测像素点,作为判断其是否为边缘点所依据的第一相邻像素点以及第二相邻像素点与第一待检测像素点都位于同一个待检测列上,并不涉及其他待检测列。也即是说,各个待检测像素点的判断过程是相互独立的,即使其中一个待检测像素点出现误判,也不会影响其他待检测像素点的判断,而该误判为边缘点的待检测像素点可以通过离群点检测算法等方式在步骤S5中将其排除,不会影响最后的边缘拟合结果。
[0096] 步骤S5:基于所述至少两个边缘点拟合获得用于表征所述第一边缘的第一直线,以使所述验钞设备能够根据所述第一直线校正所述图像。
[0097] 可以采用任意一种现有的直线拟合方法拟合用于表征第一边缘的第一直线,验钞设备能够根据第一直线校正待检验纸币的图像,以便后续纸币检验步骤能够进行统一处理。在拟合直线时,可以先使用离群点检测算法,如LOF算法排除掉误检的边缘点,以获得精确的拟合结果。
[0098] 综上所述,本发明实施例提供的边缘检测方法,在检测纸币边缘时,先确定出纸币边缘在图像中的分布区域,仅在该区域内由待检测行与待检测列的交点所确定的待检测像素点处进行边缘检测,并且所采用的检测算法充分考虑了现有图像标准中图像在存储介质中的存储特性,其检测效率非常高,适于在短时间内对大量纸币进行检验。同时,用户还可以根据需求自行选择待检测行与待检测列,其灵活性非常高,适用范围广。
[0099] 第二实施例
[0100] 图5示出了本发明实施例提供的验钞设备的功能模块图。参照图5,本发明实施例提供的验钞设备100包括:图像采集模块110、待检测行列确定模块120、待检测点确定模块130、边缘检测模块140以及边缘拟合模块150。其中,图像采集模块110用于采集待检验纸币的图像;待检测行列确定模块120用于确定所述图像中用于检测所述待检验纸币第一边缘的至少两个待检测列以及至少一个待检测行;待检测点确定模块130用于确定所述至少一个待检测行中的每个待检测行与所述至少两个待检测列的交点为一个待检测像素点集合,共至少一个待检测像素点集合;边缘检测模块140用于基于所述至少一个待检测像素点集合检测获得至少两个边缘点;边缘拟合模块150用于基于所述至少两个边缘点拟合获得用于表征所述第一边缘的第一直线,以使所述验钞设备能够根据所述第一直线校正所述图像。
[0101] 在本发明实施例中,所述边缘检测模块140包括:待检测点获取单元、第一相邻点获取单元、第二相邻点获取单元、像素和计算单元、像素和判断单元以及边缘点确定单元。其中,待检测点获取单元用于获得所述至少一个待检测像素点集合中的第一待检测像素点集合中的至少两个待检测像素点;第一相邻点获取单元用于获得所述至少两个待检测像素点中的第一待检测像素点的至少一个第一相邻像素点;第二相邻点获取单元用于获得所述第一待检测像素点的与所述第一相邻像素点数量相同的至少一个第二相邻像素点;像素和计算单元用于计算获得所述至少一个第一相邻像素点的第一像素和以及所述至少一个第二相邻像素点的第二像素和;像素和判断单元用于判断所述第一像素和与所述第二像素和之差是否大于第一预设阈值;边缘点确定单元用于在为是时,确定所述第一待检测像素点为一个边缘点。
[0102] 在本发明实施例中,所述第一相邻点获取单元包括:第一相邻行获取子单元、第一行遍历子单元以及第一相邻点获取子单元。其中,第一相邻行获取子单元用于获得所述第一待检测像素点集合所在的第一待检测行的至少一个第一相邻像素行;第一行遍历子单元用于按行方向依次遍历所述至少一个第一相邻像素行,确定所述至少一个第一相邻像素行中的每个第一相邻像素行与所述至少两个待检测列的交点为一个第一相邻像素集合,共至少一个第一相邻像素集合;第一相邻点获取子单元用于基于所述至少一个第一相邻像素集合获得至少一个第一相邻像素点。
[0103] 在本发明实施例中,所述待检测行列确定模块120包括:有效区域确定单元、待检测列确定单元以及待检测行确定单元。其中,有效区域确定单元用于确定所述图像中显示有所述待检验纸币的有效区域;待检测列确定单元用于确定所述有效区域内的至少两个待检测列;待检测行确定单元用于确定所述有效区域内的至少一个待检测行。
[0104] 综上所述,本发明实施例提供的验钞设备100中实现了本发明实施例提供的边缘检测方法,因此验钞设备100能够快速完成对待检验纸币边缘的检测,从而在此基础上进一步矫正所采集到的待检验纸币的图像,进而提高纸币检验的效率,该验钞设备100能够应用于需要对大量纸币进行快速检验的场合。
[0105] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0106] 本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0107] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0108] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0109] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0110] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈