薄卡计数方法、装置、电子设备及存储介质与流程

文档序号:28422826发布日期:2022-01-11 23:05阅读:109来源:国知局
薄卡计数方法、装置、电子设备及存储介质与流程

1.本技术涉及图像处理领域,尤其是涉及一种薄卡计数方法、装置、电子设备及存储介质。


背景技术:

2.随着智能卡行业的不断发展,卡片的应用越来越广泛,发行数量也越来越大,卡片从生产到发行、发放、回收,都需要用到数卡器产品,卡片在生产、流通和回收过程中的计数方法及其精确度非常重要。
3.目前,光学成像数卡器的应用比较广泛,可以通过高分辨率的工业相机,对要计数的产品进行拍照,然后通过软件分析得出卡片计数结果。但由于摄像头成像质量的限制,图像清晰度和对比度沿成像中心向两侧边缘逐渐降低,影响识别,并且存在卡片粘连、卡片断裂、卡片脏污等情况,计数准确度不够高,尤其是卡片越薄,计数难度越大。


技术实现要素:

4.本技术提供了一种薄卡计数方法、装置、电子设备及存储介质。
5.第一方面,提供了一种薄卡计数方法,包括:
6.获取待计数卡片图像的一组切片图像,所述待计数卡片图像为多张排列的卡片的侧视图像,每个所述切片图像为在所述待计数卡片图像中不同预设像素高度范围截取的图像,所述切片图像的宽度与所述待计数卡片图像的宽度相同,所述切片图像的高度小于所述待计数卡片图像的高度;
7.从所述切片图像中分割出包含卡片的图像区域,获得卡片区域;
8.检测所述卡片区域中的卡缝位置,根据所述卡缝位置生成所述切片图像对应的卡缝位置序列;
9.将所述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;
10.基于所述目标卡缝位置序列输出计数结果。
11.在一种可选的实施方式中,所述方法还包括:
12.获取多组切片图像,并获得每组所述切片图像对应的目标卡缝位置序列;
13.则所述基于所述目标卡缝位置序列输出计数结果,包括:
14.基于所述每组切片图像对应的目标卡缝位置序列确定卡缝位置个数;
15.确定所述多组切片图像对应的卡缝位置个数中的众数为目标计数值,输出所述目标计数值作为所述计数结果。
16.可选的,所述从所述切片图像中分割出包含卡片的图像区域,获得卡片区域,包括:
17.计算所述切片图像的像素矩阵在行方向上的均值,获得均值矩阵;
18.获取所述均值矩阵中大于预设边界阈值的第一个像素点的坐标和最后一个像素点的坐标分别作为所述卡片区域的起点和终点,确定所述卡片区域。
19.在一种可选的实施方式中,所述检测所述卡片区域中的卡缝位置,包括:
20.计算所述卡片区域的像素矩阵在行方向的均值,获得均值图像;
21.使用预设卷积算子对所述均值图像进行卷积运算得到卷积值;
22.获取所述卷积值大于预设阈值的像素点作为备选卡缝点,在所述备选卡缝点中获取所述卷积值最大的像素点;
23.将所述卷积值最大的像素点坐标确定为所述卡缝位置。
24.在一种可选的实施方式中,在所述检测所述卡片区域中的卡缝位置之后,所述方法还包括:
25.基于所述卡缝位置,获得每两个连续的卡缝位置的卡缝间距;
26.将所述卡缝间距与预设卡片宽度范围进行比较,确定所述每两个连续的卡缝位置的卡缝间距的类别;
27.从所述卡缝位置序列中获取卡缝子序列,所述卡缝子序列包括连续三个卡缝位置;
28.获取所述连续三个卡缝位置的卡缝间距的类别,确定所述连续三个卡缝间距的类别是否满足预设模式类别;
29.若是,比较所述卡缝子序列的总宽度和预设宽度值,确定所述卡缝子序列中是否包括伪卡缝位置;
30.若包括,剔除所述伪卡缝位置。
31.在一种可选的实施方式中,在根据所述卡缝位置生成所述切片图像对应的卡缝位置序列之后,所述方法还包括:
32.根据所述卡缝位置序列生成顺序排列的多个信息单元,每个所述信息单元记录所述每两个连续的卡缝位置、所述每两个连续的卡缝位置的卡缝间距和类别;
33.生成卡缝序列,所述卡缝序列包括所述顺序排列的多个信息单元;
34.所述方法还包括:
35.将所述一组切片图像对应的卡缝序列合并,获得目标卡缝序列;
36.确定所述目标卡缝序列中所述信息单元的个数为所述计数结果,输出所述计数结果。
37.可选的,所述方法还包括:
38.从所述卡缝序列中获取所述卡缝间距异常的信息单元,将所述卡缝间距异常的连续信息单元确定为一个异常子序列;
39.基于预设的卡片张数预测模型对所述异常子序列进行处理,确定所述异常子序列的卡片张数,更新所述异常子序列的信息单元。
40.可选的,所述预设的卡片张数预测模型包括第一预测规则、第二预测规则和第三预测规则;所述基于预设的卡片张数预测模型对所述异常子序列进行处理,确定所述异常子序列的卡片张数,包括:
41.基于第一预测规则预测获得所述异常子序列的第一卡片张数和第二卡片张数,基于第二预测规则预测获得所述异常子序列的第三卡片张数和第四卡片张数,基于第三预测规则预测获得所述异常子序列的第五卡片张数和第六卡片张数;
42.根据所述第一卡片张数、所述第三卡片张数、所述第五卡片张数和第一预设权重
参数计算第一参考值,根据所述第二卡片张数、所述第四卡片张数、所述第六卡片张数和第二预设权重参数计算第二参考值;
43.比较所述第一参考值和所述第二参考值的大小,根据所述第一参考值和所述第二参考值的大小关系,从所述第一参考值和所述第二参考值中确定一个值为所述异常子序列的卡片张数。
44.第二方面,提供了一种薄卡计数装置,包括:
45.获取模块,用于获取待计数卡片图像的一组切片图像,所述待计数卡片图像为多张排列的卡片的侧视图像,每个所述切片图像为在所述待计数卡片图像中不同预设像素高度范围截取的图像,所述切片图像的宽度与所述待计数卡片图像的宽度相同,所述切片图像的高度小于所述待计数卡片图像的高度;
46.图像分割模块,用于从所述切片图像中分割出包含卡片的图像区域,获得卡片区域;
47.卡缝检测模块,用于检测所述卡片区域中的卡缝位置,根据所述卡缝位置生成所述切片图像对应的卡缝位置序列;
48.合并模块,用于将所述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;
49.输出模块,用于基于所述目标卡缝位置序列输出计数结果。
50.第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面及其任一种可能的实现方式的步骤。
51.第四方面,提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面及其任一种可能的实现方式的步骤。
52.本技术中的薄卡计数方法,通过获取待计数卡片图像的一组切片图像,上述待计数卡片图像为多张排列的卡片的侧视图像,每个上述切片图像为在上述待计数卡片图像中不同预设像素高度范围截取的图像,上述切片图像的宽度与上述待计数卡片图像的宽度相同,上述切片图像的高度小于上述待计数卡片图像的高度;从上述切片图像中分割出包含卡片的图像区域,获得卡片区域;检测上述卡片区域中的卡缝位置,根据上述卡缝位置生成上述切片图像对应的卡缝位置序列;将上述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;基于上述目标卡缝位置序列输出计数结果,通过获取待计数卡片图像的多个切片分别识别卡缝位置,融合多切片的卡缝信息,在识别卡缝进行卡片计数时,降低卡片粘连、卡片断裂、卡片脏污等问题对识别卡缝造成的影响,提高卡片计数的准确率。
附图说明
53.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
54.图1为本技术实施例提供的一种薄卡计数方法的流程示意图;
55.图2为本技术实施例提供的一种待计数卡片图像示意图;
56.图3为本技术实施例提供的薄卡计数装置的结构示意图;
57.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
58.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
60.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
61.下面结合本技术实施例中的附图对本技术实施例进行描述。
62.请参阅图1,图1是本技术实施例提供的一种薄卡计数方法的流程示意图。该方法可包括:
63.101、获取待计数卡片图像的一组切片图像,上述待计数卡片图像为多张排列的卡片的侧视图像,每个上述切片图像为在上述待计数卡片图像中不同预设像素高度范围截取的图像,上述切片图像的宽度与上述待计数卡片图像的宽度相同,上述切片图像的高度小于上述待计数卡片图像的高度。
64.本技术实施例中的待计数卡片图像中包括多张卡片,并且多张卡片整齐紧密排列,通过采集其侧面(包括卡缝)视角图像来进行计数。举例来讲,可以参见图2所示的一种待计数卡片图像示意图,具体的做法是将需要计数的薄卡平整排列,并可使用夹片将卡片压实,由单个高清的工业相机拍摄采集获得如图2所示的待计数卡片图像,其中的卡片是经过使用磨损、脏污的地铁薄卡,卡片受光均匀,存在为非卡片区域的边缘区域,在进行计数时针对中间的卡片区域进行处理。
65.其中,上述采集的待计数卡片图像中卡片数量不做限制,相对的,一次性计数的卡片越多,对硬件和算法的难度会越大。在一种实施方式中,可以根据图像处理的能力确定卡片数量。比如通过本技术实施例中的方法,述待计数卡片图像中的卡片可以为500张以内,一次能数卡500张,在当前市面数卡器中具备综合优势。
66.本技术实施例中的执行主体为薄卡计数装置,可以通过摄像头采集待计数卡片图像进行识别处理,实现卡片识别计数。
67.进一步地,从该待计数卡片图像中提取切片图像。可以预先设置用于切割图像的像素高度范围(对应该切片图像的高度),根据不同的预设像素高度范围从该待计数卡片图像中截取多个切片图像。该切片图像的宽度与待计数卡片图像的宽度相同,高度小于待计数卡片图像的高度。
68.在稳定的成像条件下,一张薄卡在图像中的宽度是基本不变的,但由于镜头存在透视形变,有“近大远小”的效果,导致成像中间和两侧的卡片宽度有差异。
69.在一种实施方式中,由于镜头越靠近边缘畸变越明显,所以选取中心范围的图像作为切片图像,举例来讲,假设图2所示的待计数卡片图像的图片大小为3648*5472,具体操作可以为:预设像素高度范围为:1400~1450,截取该范围的图片片段作为切片1,大小为50*5472;切片1往上200像素高度截取同样大小的图片片段,作为切片2;切片1往下200像素高度截取同样大小的图片片段,作为切片3。
70.可选的,几个切片图像按照不同顺序排列,也可以看作不同切片图像组。比如,由上述获得的切片1、2和3这三个切片的不同排列顺序,获得3组切片:{切片1,切片2,切片3}、{切片2,切片1,切片3}、{切片3,切片1,切片2}。在此基础上,可以调整预设像素高度范围,以获取更多组切片图像,比如将上述预设像素高度范围依次偏移-50,-100,-150,+50,+100,+150,获得6个不同的预设像素高度范围,每个预设像素高度范围均可产生3组切片,依据以上方法,总共可以获得21组切片。
71.可以根据需要选择和调整切片的数量、大小和获取方式,本技术实施例对此不做限制。
72.102、从上述切片图像中分割出包含卡片的图像区域,获得卡片区域。
73.为了对卡片进行识别技术,先对切片图像进行边界定位分割,以提取出其中的卡片区域。
74.在一种可选的实施方式中,上述步骤102包括:
75.计算上述切片图像的像素矩阵在行方向上的均值,获得均值矩阵;
76.获取上述均值矩阵中大于预设边界阈值的第一个像素点的坐标和最后一个像素点的坐标分别作为上述卡片区域的起点和终点,确定上述卡片区域。
77.具体的,切片图像的像素矩阵表示为a∈[m,n],计算该矩阵行方向的均值:
[0078][0079]
获得均值矩阵ma∈[1,n],根据预设边界阈值(比如60),将均值矩阵中大于该预设边界阈值的第一个像素点和最后一个像素点的坐标分别作为卡片区域的起点和终点,从而定位出卡片区域。
[0080]
可选的,上述一组切片图像包括第一切片图像和第二切片图像;
[0081]
在上述第二切片图像与上述第一切片图像的卡片区域的起点坐标不一致的情况下,将上述第二切片图像进行透视变换,获得与上述第一切片图像的起点坐标一致的图像。
[0082]
透视变换(perspective transformation)是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。具体的,当卡片倾斜时,一组的各个切片图像的起始点可能不一致,这会导致多切片图像对应位置的卡缝不对齐,所以需要对切片图像进行透视变换,获得起始点一致的图像。比如对上述切片2和切片3进行透视变换,获得与切片1的起始点一致的图像。
[0083]
完成透视变换之后,根据起点和终点信息,从原图里分割出卡片区域cropm∈[m,l],l是卡片区域的总宽度。
[0084]
可选的,可以对切片图像分别进行图像增强,以扩大对比度,增加卡缝与卡片的区分度。可以根据预设分组像素高度,计算卡片区域的增强分组数g,比如300个像素高度为1组,计算组数:g=floor(l/300);进而将卡片区域cropm分为g个图片片段后,依次进行最大最小值归一化,提高图像对比度。
[0085]
可选的,在完成图像归一化之后,可以进行滤波处理。比如可使用保持边缘的滤波器——双边滤波进行去噪处理,双边滤波参数为σs=3,σr=10。
[0086]
103、检测上述卡片区域中的卡缝位置,根据上述卡缝位置生成上述切片图像对应的卡缝位置序列。
[0087]
在上述处理完成后获得的卡片区域基础上,可以根据预设的卡缝检测算法进行卡缝检测,确定卡缝位置。
[0088]
在一种可选的实施方式中,上述检测上述卡片区域中的卡缝位置,包括:
[0089]
计算上述卡片区域的像素矩阵在行方向的均值,获得均值图像;
[0090]
使用预设卷积算子对上述均值图像进行卷积运算得到卷积值;
[0091]
获取上述卷积值大于预设阈值的像素点作为备选卡缝点,在上述备选卡缝点中获取上述卷积值最大的像素点;
[0092]
将上述卷积值最大的像素点坐标确定为上述卡缝位置。
[0093]
具体的,首先可计算卡片区域的像素矩阵cropm行方向的均值,获得均值图像,即一维图像avgm;
[0094]
根据卡缝与周边像素值呈现“高低高”模式的特征,设计预设卷积算子,比如卷积算子:
[0095]
kernel=[1
ꢀ‑
2 1]
[0096]
使用预设卷积算子对avgm图像进行卷积运算得到卷积值diffm,由于模式为“高低高”,所以卡缝处卷积的结果一定是正值。将卷积值diffm中满足大于预设阈值的像素点定义为上述备选卡缝点。其中,上述预设阈值可以根据需要设置,比如取值为30。
[0097]
经过上述卷积,卡缝周围可能也出现满足大于差分阈值的点,所以对卷积结果进行非极大值抑制操作,在满足上述卡缝条件的连续的一系列备选卡缝点中,选取出可信度最高的点,具体操作可以为:
[0098]
在满足上述卡缝条件的像素点的预设邻域(如3*3邻域)内,寻找出卷积值最大值,公式如下:
[0099]d*
=max(di|i∈ω
3*3
),
[0100]
最大值点即卡缝点,将非极大值但满足卡缝条件的点进行剔除,仅保留最大值点。
[0101]
在一种可选的实施方式中,在上述检测上述卡片区域中的卡缝位置之后,上述方法还包括:
[0102]
基于上述卡缝位置,获得每两个连续的卡缝位置的卡缝间距;
[0103]
将上述卡缝间距与预设卡片宽度范围进行比较,确定上述每两个连续的卡缝位置的卡缝间距的类别;
[0104]
从上述卡缝位置序列中获取卡缝子序列,上述卡缝子序列包括连续三个卡缝位置;
[0105]
获取上述连续三个卡缝位置的卡缝间距的类别,确定上述连续三个卡缝间距的类
别是否满足预设模式类别;
[0106]
若是,比较上述卡缝子序列的总宽度和预设宽度值,确定上述卡缝子序列中是否包括伪卡缝位置;
[0107]
若包括,剔除上述伪卡缝位置。
[0108]
具体的,本技术实施例中还可以进行卡片宽度分析。
[0109]
由于卡片存在粘连、断裂、脏污及图像边缘对比度下降等问题,所以卡缝存在漏检、误检等情况;两个连续的卡缝间的距离表示一张卡的宽度,根据一张卡片正常宽度范围(假设为9~12个像素宽度),可以判断卡缝之间的间距是否正常,并将所有卡缝的间距分类,比如可以分为卡间距正常、卡间距较短、卡间距较长三类。
[0110]
在一种可选的实施方式中,在根据上述卡缝位置生成上述切片图像对应的卡缝位置序列之后,上述方法还包括:
[0111]
根据上述卡缝位置序列生成顺序排列的多个信息单元,每个上述信息单元记录上述每两个连续的卡缝位置、上述每两个连续的卡缝位置的卡缝间距和类别;
[0112]
生成卡缝序列,上述卡缝序列包括上述顺序排列的多个信息单元。
[0113]
可选的,本技术实施例中使用卡缝序列cardlist来表征这些卡间距信息,cardlist由多个信息单元组成,每个信息单元记录相邻两条卡缝的位置、卡缝间距和类别。
[0114]
本技术实施例中还可以进一步去除伪卡缝,提高卡缝检测结果的可信度。当一张卡片有裂缝或者脏污的时候,产生“伪卡缝”,这种类型的卡缝体现为形成的卡间距很短。因此可以根据连续三个卡缝位置的卡缝间距的类别,判断其是否满足预设模式类别和卡片宽度条件,来确定是否存在如“伪卡缝”等异常情况。
[0115]
比如,在卡缝序列中,检测出“卡间距正常-卡间距较短-卡间距正常”模式的卡缝子序列,若该序列是由存在裂缝的2张卡片产生,则该序列的宽度应该等于2张卡片的宽度;因为假设卡片正常宽度范围为9~12个像素宽度,所以两张卡片的宽度约为18~24个像素宽度,若该卡缝子序列的宽度在[18,24]区间内,说明该卡缝子序列实际由2张卡组成的,则把伪卡缝从卡缝序列cardlist中剔除。
[0116]
当卡片存在粘连、脏污及图像边缘对比度下降等问题,卡缝存在漏检,这种类型的卡缝体现为形成的卡间距较长。该切片图像中丢失的卡缝信息可以由其它切片图像中的卡缝信息进行补充,即对于一组三个切片图像,将切片2、切片3相应位置的卡缝位置信息插入到切片1的卡缝位置序列中(重复的仅保留一个)。
[0117]
在多切片卡缝信息融合步骤中,利用了其它切片图像的卡缝信息,这些卡缝同样有存在“伪卡缝”的可能,故可以再进行一次去除伪卡缝操作,此处不再赘述。
[0118]
104、将上述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列。
[0119]
105、基于上述目标卡缝位置序列输出计数结果。
[0120]
在一种可选的实施方式中,上述方法还包括:
[0121]
获取多组切片图像,并获得每组上述切片图像对应的目标卡缝位置序列;
[0122]
则步骤105包括:
[0123]
基于上述每组切片图像对应的目标卡缝位置序列确定卡缝位置个数;
[0124]
确定上述多组切片图像对应的卡缝位置个数中的众数为目标计数值,输出上述目标计数值作为上述计数结果。
[0125]
对于一组切片图像,可以执行上述步骤102-步骤105,获得对应的计数结果。本技术实施例中的可以选取多组切片图像(比如前述提到的21组切片图像),分别执行相同的处理步骤,即多组切片图像依次输入数卡算法模块,获得对应的多个技术结果,本技术实施例中的薄卡计数方案使用经过多组切片图像投票机制的结果,即将多组计数结果的众数作为最终结果,以提高薄卡计数结果的可靠性。可选的,还可以使用其他方法来从中确定一个最终结果,比如中位数等,本技术实施例对此不做限制。
[0126]
可选的,该方法还包括:
[0127]
将上述一组切片图像对应的卡缝序列合并,获得目标卡缝序列;
[0128]
确定上述目标卡缝序列中上述信息单元的个数为上述计数结果,输出上述计数结果。
[0129]
同样地,使用卡缝序列cardlist进行判断时,也可以将每组切片图像的卡缝序列合并(重复的信息单元仅保留一个),降低丢失卡缝信息的问题。
[0130]
可选的,上述方法还包括:
[0131]
从上述卡缝序列中获取上述卡缝间距异常的信息单元,将上述卡缝间距异常的连续信息单元确定为一个异常子序列;
[0132]
基于预设的卡片张数预测模型对上述异常子序列进行处理,确定上述异常子序列的卡片张数,更新上述异常子序列的信息单元。
[0133]
本技术实施例中还可以进一步进行异常卡间距综合分析。
[0134]
经过前述去除异常的步骤后,类别为“卡间距较短”、“卡间距较长”信息单元的数量减少,但仍未完全解决。在卡缝序列cardlist中,寻找出卡间距异常的信息单元,如果多个连续信息单元均是异常情况,则将它们看做一个异常子序列进行处理。
[0135]
本技术实施例中设置上述预设的卡片张数预测模型,可以对该异常子序列进行处理分析,确定出该异常子序列对应的卡片张数,更新其中的信息单元。本技术实施例中可以根据需要设置卡片张数预测模型或算法来进行异常卡间距分析,此处不做限制。
[0136]
在一种可选的实施方式中,上述预设的卡片张数预测模型包括第一预测规则、第二预测规则和第三预测规则;上述基于预设的卡片张数预测模型对上述异常子序列进行处理,确定上述异常子序列的卡片张数,包括:
[0137]
基于第一预测规则预测获得上述异常子序列的第一卡片张数和第二卡片张数,基于第二预测规则预测获得上述异常子序列的第三卡片张数和第四卡片张数,基于第三预测规则预测获得上述异常子序列的第五卡片张数和第六卡片张数;
[0138]
根据上述第一卡片张数、上述第三卡片张数、上述第五卡片张数和第一预设权重参数计算第一参考值,根据上述第二卡片张数、上述第四卡片张数、上述第六卡片张数和第二预设权重参数计算第二参考值;
[0139]
比较上述第一参考值和上述第二参考值的大小,根据上述第一参考值和上述第二参考值的大小关系,从上述第一参考值和上述第二参考值中确定一个值为上述异常子序列的卡片张数。
[0140]
本技术实施例中可以设置不同的预测规则对异常子序列中的卡片张数进行预测,每个预测规则可以获得两个预测结果(上述参考值),再分别进行加权计算来确定出最终的预测结果,可以根据需要选取合适的权重参数,本技术实施例对此不做限制。
[0141]
在一种具体的实施方式中,可以从以下3个角度去建立卡片张数估计概率函数,其中n和nplus分别为两个参考值:
[0142]
一:
[0143]
设异常子序列由n个信息单元组成,第一个信息单元为ci,其中单元左侧卡缝坐标为x
i,1
,最后一个信息单元为c
i+n-1
,其中单元右侧卡缝坐标为x
i+n-1,2
,异常子序列长度len=x
i+n-1,2-x
i,1

[0144]
根据薄卡宽度为w,估计异常子序列包含卡片的张数可能为n=floor(len/w)或者nplus=floor(len/w)+1,使用下列公式表示估计张数分别为n和nplus的概率:
[0145][0146][0147]
二:
[0148]
将异常子序列左右两边各外扩一个信息单元,获得第二个子序列c
i-1
,ci,...,c
i+n-1
,c
i+n
,第二个子序列长度len2=x
i+n,2-x
i-1,1
,由于第二个子序列的信息单元比第一个子序列的信息单元多2个,所以该子序列包含的张数可能为n2=n+2或者nplus2=nplus+2,使用下列公式表示估计张数分别为n2和nplus2的概率:
[0149][0150][0151]
三:
[0152]
将三个切片在该序列范围[x
i,1
,x
i+n-1,2
]内检测出的卡缝点坐标依次排列,得到s1,...,sm;分别以n和nplus为张数,在范围[x
i,1
,x
i+n-1,2
]内求得等卡缝间距下的卡缝估计坐标p1,...,p
n-1
和q1,...,q
n_plus-1
,分别计算它们与s1,...,sm的距离:
[0153]
对于每个估计卡缝pk或者qk,在s1,...,sm寻找与之距离最近的卡缝点累加距离并求取平均距离:
[0154][0155][0156]
[0157][0158]
}
[0159]
结合以上3个维度对异常序列卡片张数的概率评估,建立判断函数:
[0160]
ration=ratio_n+1.5
×
ratio_n2+1.5
×
ratio_n3,
[0161]
rationplus=ratio_nplus+1.5
×
ratio_nplus2+1.5
×
ratio_nplus3,
[0162]
若ration≥rationplus,则异常子序列估计为n张卡片,将p1,...,p
n-1
卡缝信息代替异常子序列的信息单元,更新卡缝序列cardlist;若ration<rationplus,则异常子序列估计为nplus张卡片,即n+1张,将q1,...,q
n_plus-1
卡缝信息代替异常子序列的信息单元,更新卡缝序列cardlist。
[0163]
经过上述步骤,得到了最终的卡缝序列cardlist,cardlist中的信息单元的个数就是卡片计数的最终结果,故可以将cardlist的信息单元数量输出。
[0164]
本技术实施例中通过获取待计数卡片图像的一组切片图像,上述待计数卡片图像为多张排列的卡片的侧视图像,每个上述切片图像为在上述待计数卡片图像中不同预设像素高度范围截取的图像,上述切片图像的宽度与上述待计数卡片图像的宽度相同,上述切片图像的高度小于上述待计数卡片图像的高度;从上述切片图像中分割出包含卡片的图像区域,获得卡片区域;检测上述卡片区域中的卡缝位置,根据上述卡缝位置生成上述切片图像对应的卡缝位置序列;将上述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;基于上述目标卡缝位置序列输出计数结果,通过获取待计数卡片图像的多个切片分别识别卡缝位置,融合多切片的卡缝信息,在识别卡缝进行卡片计数时,降低卡片粘连、卡片断裂、卡片脏污等问题对识别卡缝造成的影响,提高卡片计数的准确率。
[0165]
目前的卡片计数是基于卡片的边缘为基础的,在完成图像的预处理操作的基础上,针对图像纹理的特点,可采用sobel算子等检测卡片的边缘,在准确提取出图像中卡片边缘信息之后,对边缘的计数方法进行了研究,分别提出了基于分割的计数法和基于投影变换的计数法。基于分割的方法主要是通过对图像二值化处理,并采用数学形态学的方法去除图像中的干扰信息,以完成准确计数的目的。基于投影变换的计数法则是直接对检测出的边缘图像进行变换,并求出图像的最佳投影向量,将边缘的计数问题转化成对投影向量中脉冲个数的求解,结合脉冲的周期性质,通过寻找极大值的方法实现计数的目的。
[0166]
其中,一般为了避免单相机引起的图像边缘清晰度下降、成像中间和两侧的卡片宽度差异的问题,采用多相机方式,增加了成本,并且处理多个图像采集器采集的图像也具有一定的复杂性。并且,此类方式仅对表面较为干净且数量不多(比如不超过120张)的卡片提出解决方案,并且准确率不够高。
[0167]
相当于目前的方案,本技术实施例中的能有效补偿单相机引起的图像边缘清晰度下降、成像中间和两侧的卡片宽度差异问题而导致的估计偏差,使得在单相机工作方式下,依旧能保持准确计数的性能,有效降低成本。本发明在单相机方式下,可以实现对500张以内的薄卡百分之百准确计数,所用的卡片可以是经过使用磨损、脏污的地铁薄卡,而且卡片厚度仅有0.45mm,在诸多数卡器所适用的卡片类型中,属于非常薄的卡片,卡片计数精度较高。
[0168]
基于上述薄卡计数方法实施例的描述,本技术实施例还公开了一种薄卡计数装
置。请参见图3,薄卡计数装置300包括:
[0169]
获取模块310,用于获取待计数卡片图像的一组切片图像,所述待计数卡片图像为多张排列的卡片的侧视图像,每个所述切片图像为在所述待计数卡片图像中不同预设像素高度范围截取的图像,所述切片图像的宽度与所述待计数卡片图像的宽度相同,所述切片图像的高度小于所述待计数卡片图像的高度;
[0170]
图像分割模块320,用于从所述切片图像中分割出包含卡片的图像区域,获得卡片区域;
[0171]
卡缝检测模块330,用于检测所述卡片区域中的卡缝位置,根据所述卡缝位置生成所述切片图像对应的卡缝位置序列;
[0172]
合并模块340,用于将所述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;
[0173]
输出模块350,用于基于所述目标卡缝位置序列输出计数结果。
[0174]
可选的,上述获取模块310还用于获取多组切片图像;通过上述卡缝检测模块330和上述输出模块350可以获得每组上述切片图像对应的目标卡缝位置序列;
[0175]
上述输出模块350具体用于:
[0176]
基于上述每组切片图像对应的目标卡缝位置序列确定卡缝位置个数;
[0177]
确定上述多组切片图像对应的卡缝位置个数中的众数为目标计数值,输出上述目标计数值作为上述计数结果。
[0178]
可选的,上述图像分割模块320具体用于:
[0179]
计算上述切片图像的像素矩阵在行方向上的均值,获得均值矩阵;
[0180]
获取上述均值矩阵中大于预设边界阈值的第一个像素点的坐标和最后一个像素点的坐标分别作为上述卡片区域的起点和终点,确定上述卡片区域。
[0181]
可选的,上述卡缝检测模块330具体用于:
[0182]
计算上述卡片区域的像素矩阵在行方向的均值,获得均值图像;
[0183]
使用预设卷积算子对上述均值图像进行卷积运算得到卷积值;
[0184]
获取上述卷积值大于预设阈值的像素点作为备选卡缝点,在上述备选卡缝点中获取上述卷积值最大的像素点;
[0185]
将上述卷积值最大的像素点坐标确定为上述卡缝位置。
[0186]
可选的,上述卡缝检测模块330还用于:
[0187]
在上述检测上述卡片区域中的卡缝位置之后,基于上述卡缝位置,获得每两个连续的卡缝位置的卡缝间距;
[0188]
将上述卡缝间距与预设卡片宽度范围进行比较,确定上述每两个连续的卡缝位置的卡缝间距的类别;
[0189]
从上述卡缝位置序列中获取卡缝子序列,上述卡缝子序列包括连续三个卡缝位置;
[0190]
获取上述连续三个卡缝位置的卡缝间距的类别,确定上述连续三个卡缝间距的类别是否满足预设模式类别;
[0191]
若是,比较上述卡缝子序列的总宽度和预设宽度值,确定上述卡缝子序列中是否包括伪卡缝位置;
[0192]
若包括,剔除上述伪卡缝位置。
[0193]
可选的,上述卡缝检测模块330还用于,在根据上述卡缝位置生成上述切片图像对应的卡缝位置序列之后,根据上述卡缝位置序列生成顺序排列的多个信息单元,每个上述信息单元记录上述每两个连续的卡缝位置、上述每两个连续的卡缝位置的卡缝间距和类别;
[0194]
生成卡缝序列,上述卡缝序列包括上述顺序排列的多个信息单元;
[0195]
上述合并模块340还用于:
[0196]
将上述一组切片图像对应的卡缝序列合并,获得目标卡缝序列;
[0197]
确定上述目标卡缝序列中上述信息单元的个数为上述计数结果,输出上述计数结果。
[0198]
可选的,上述上述卡缝检测模块330还用于:
[0199]
从上述卡缝序列中获取上述卡缝间距异常的信息单元,将上述卡缝间距异常的连续信息单元确定为一个异常子序列;
[0200]
基于预设的卡片张数预测模型对上述异常子序列进行处理,确定上述异常子序列的卡片张数,更新上述异常子序列的信息单元。
[0201]
根据本技术的一个实施例,前述实施例中所示的方法所涉及的各个步骤均可以是由图3所示的薄卡计数装置300中的各个模块执行的,此处不再赘述。
[0202]
本技术实施例中的薄卡计数装置300,可以通过获取待计数卡片图像的一组切片图像,上述待计数卡片图像为多张排列的卡片的侧视图像,每个上述切片图像为在上述待计数卡片图像中不同预设像素高度范围截取的图像,上述切片图像的宽度与上述待计数卡片图像的宽度相同,上述切片图像的高度小于上述待计数卡片图像的高度;从上述切片图像中分割出包含卡片的图像区域,获得卡片区域;检测上述卡片区域中的卡缝位置,根据上述卡缝位置生成上述切片图像对应的卡缝位置序列;将上述一组切片图像对应的卡缝位置序列合并,获得目标卡缝位置序列;基于上述目标卡缝位置序列输出计数结果,通过获取待计数卡片图像的多个切片分别识别卡缝位置,融合多切片的卡缝信息,在识别卡缝进行卡片计数时,降低卡片粘连、卡片断裂、卡片脏污等问题对识别卡缝造成的影响,提高卡片计数的准确率。
[0203]
基于上述方法实施例以及装置实施例的描述,本技术实施例还提供一种电子设备。请参见图4,该电子设备400至少包括处理器401、输入设备402、输出设备403以及计算机存储介质404。其中,电子设备内的处理器401、输入设备402、输出设备403以及计算机存储介质404可通过总线或其他方式连接。
[0204]
计算机存储介质404可以存储在电子设备的存储器中,上述计算机存储介质404用于存储计算机程序,上述计算机程序包括程序指令,上述处理器401用于执行上述计算机存储介质404存储的程序指令。处理器401(或称cpu(central processing unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本技术实施例上述的处理器401可以用于进行一系列的处理,包括前述实施例中所涉及的方法中的任意步骤等等。
[0205]
本技术实施例还提供了一种计算机存储介质(memory),上述计算机存储介质是电
子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括电子设备中的内置存储介质,当然也可以包括电子设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了电子设备的操作系统。并且,在该存储空间中还存放了适于被处理器401加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
[0206]
在一个实施例中,可由处理器401加载并执行计算机存储介质中存放的一条或多条指令,以实现上述实施例中的相应步骤;具体实现中,计算机存储介质中的一条或多条指令可以由处理器401加载并执行前述实施例中方法的任意步骤,此处不再赘述。
[0207]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0208]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0209]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0210]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-only memory,rom),或随机存储存储器(random access memory,ram),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,dvd)、或者半导体介质,例如,固态硬盘(solid state disk,ssd)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1