一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

仪表的读数识别方法、装置及电子设备与流程

2022-03-22 22:41:05 来源:中国专利 TAG:


1.本技术属于图像识别技术领域,尤其涉及仪表的读数识别方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,越来越多的工作都由机器人代替人工完成,比如,采用机器人对设备进行巡检来代替人工对设备的巡检。
3.具体地,通过机器人拍摄其巡检的仪表,得到包括仪表的表盘的图像,再对该图像进行目标检测,得到该仪表的读数。
4.但现有的仪表的读数识别方法,存在小数点识别准确率较低,进而导致仪表的整个读数的准确率较低的问题。


技术实现要素:

5.本技术实施例提供了仪表的读数识别方法、装置、电子设备及计算机可读存储介质,可以解决现有方法识别小数点的位置的准确率较低的问题。
6.第一方面,本技术实施例提供了一种仪表的读数识别方法,包括:
7.获取目标图像,所述目标图像包括仪表的表盘;
8.对所述目标图像进行预处理,得到二值化图像;
9.采用预设高度的线段对所述二值化图像进行横向扫描;
10.根据扫描的结果确定第一目标颜色列在横向上的长度,所述第一目标颜色列包括至少两个相邻的第一颜色列,所述第一颜色列为各个像素点的像素值的和满足第一预设条件的像素列;
11.根据所述第一目标颜色列在横向上的长度判断所述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
12.第二方面,本技术实施例提供了一种仪表的读数识别装置,包括:
13.目标图像获取模块,用于获取目标图像,所述目标图像包括仪表的表盘;
14.目标图像预处理模块,用于对所述目标图像进行预处理,得到二值化图像;
15.图像扫描模块,用于采用预设高度的线段对所述二值化图像进行横向扫描;
16.第一长度确定模块,用于根据扫描的结果确定第一目标颜色列在横向上的长度,所述第一目标颜色列包括至少两个相邻的第一颜色列,所述第一颜色列为各个像素点的像素值的和满足第一预设条件的像素列;
17.小数点的位置判断模块,用于根据所述第一目标颜色列在横向上的长度判断所述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
18.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
19.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
20.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的方法。
21.本技术实施例与现有技术相比存在的有益效果是:
22.本技术实施例中,由于对包括仪表的表盘的目标图像预处理为二值化图像,因此,后续只需对只有黑色和白色的二值化图像进行识别即可,从而减少了后续识别的复杂度,进而有利于提高后续从该二值化图像中确定出小数点的位置的准确率,且利于将该方法部署在电子设备的边缘。同时,由于采用预设高度的线段对二值化图像进行横向扫描,因此,能够保证获取到该二值化图像中所有在该预设高度范围内的像素点的像素值,从而能够根据获取的像素值确定出所有满足第一预设条件的第一颜色列,进而准确确定出包括相邻第一颜色列的第一目标颜色列在横向上的长度。而由于仪表的表盘所显示的同一个小数点或同一个数字均采用同一种颜色表示,也即,同一个小数点或同一个数字所在的各个像素列中的各个像素点的像素值的和均应满足第一预设条件,因此,设定第一目标颜色列只包括相邻的第一颜色列更符合实际情况,且由于表盘显示的小数点较小,也即,小数点在横向上的长度具有一定的限制,因此,后续能够根据第一目标颜色列的长度判断出该第一目标颜色列是否包括小数点所在的位置时更准确。也即,通过结合颜色信息以及长度信息能够提高小数点所在的位置的识别准确率。
附图说明
23.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
24.图1是本技术一实施例提供的一种仪表的读数识别方法的流程图示意图;
25.图2是本技术一实施例提供的一种以目标图像的左下角为原点建立坐标系的示意图;
26.图3是本技术一实施例提供的一种小数点与其两边背景的距离的示意图;
27.图4是本技术一实施例提供的一种被标记的连通域示意图;
28.图5是本技术另一实施例提供的一种中值滤波的原理示意图;
29.图6是本技术一实施例提供的一种将左边的原始图像a腐蚀处理为右边a-b的效果示意图;
30.图7是本技术另一实施例提供的一种仪表的读数识别装置的结构示意图;
31.图8是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
32.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
33.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描
述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
34.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
35.另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
36.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
37.实施例一:
38.在机器人巡检中,通常需要读取仪表显示的数字,作为该仪表的读数。但由于仪表显示的数字的位置和小数点的位置通常不是固定的(比如,同一款电力仪表在不同的量程下,显示的数字的位置和小数点的位置都不固定),且小数点存在面积小以及与周围环境距离近的特点,因此,导致读取的小数点的位置的准确率较低,从而导致仪表的最终读数的准确率较低。
39.为了解决上述技术问题,本技术实施例提供了一种仪表的读数识别方法,在该方法中,先将目标图像进行预处理,得到二值化图像,再采用预设高度的线段对二值化图像进行横向扫描,得到各个像素列中各个像素点的像素值,按列(像素列)统计各个像素点的像素值的和,将像素值的和满足第一预设条件的像素列确定为第一颜色列,将相邻的多个颜色列确定为第一目标颜色列,再确定该第一目标颜色列在横向上的长度,最后根据该第一目标颜色列在横向上的长度确定该第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
40.由于仪表中显示的小数点通常较小,即小数点在横向上的长度必然满足一定的规律,因此,可根据第一目标颜色列在横向上的长度来判断该第一目标颜色列所在的位置是否包括小数点所在的位置。
41.下面结合附图对本技术实施例提供的仪表的读数识别方法进行描述。
42.图1示出了本技术实施例提供的一种仪表的读数识别方法的流程图,详述如下:
43.步骤s11,获取目标图像,上述目标图像包括仪表的表盘。
44.本实施例中,电子设备可通过其自身的摄像头获取目标图像,或者,通过接收其他电子设备发送的目标图像来获取该目标图像。
45.在一些实施例中,该电子设备为机器人。该机器人对仪表进行巡检时,通过该机器人的摄像头对该仪表的表盘进行拍摄,获得上述的目标图像。
46.步骤s12,对上述目标图像进行预处理,得到二值化图像。
47.本实施例中,仪表的表盘所显示的数字的颜色与背景颜色不同,但显示的各个数字的颜色通常相同,背景的颜色也通常相同。由于光线不同和\或拍摄角度不同时,所得到的目标图像中的表盘显示的数字和背景的颜色可能与实际情况存在差异(比如数字之间的像素值存在差异),因此,为了降低光线和拍摄角度对后续从目标图像识别出小数点的位置
的影响,本实施例将获取的目标图像(通常为红绿蓝(red green blue,rgb)图像)预处理为二值化图像。
48.其中,这里的二值化图像是指只有白色和黑色这两种颜色的图像。
49.步骤s13,采用预设高度的线段对上述二值化图像进行横向扫描。
50.本实施例中,考虑到小数点本身的高度不高,因此,只需采用预设高度的线段对二值化图像进行横向扫描即可,比如,对二值化图像从左到右进行横向扫描。由于该预设高度的线段是对二值化图像进行横向扫描,也即,其只需在横向上对该二值化图像扫描完全即可,因此,该预设高度的线段无需限制其宽度范围。
51.在一些实施例中,上述预设高度的线段的底端纵坐标是5(当然,也可以为其他值,比如4,只需靠近0即可),顶端纵坐标是25(当然,也可以为其他值,只需大于20即可),这里的坐标的单位是像素个数,即底端纵坐标是5个像素个数所对应的高度值。如图2所示,以目标图像的左下角为原点建立坐标系,则设置底端纵坐标是5,顶端纵坐标是25的线段对该目标图像进行横向扫描。由于小数点距离横轴的高度通常较低,因此,将底端纵坐标设置为5能够保证对目标图像进行横向扫描时扫描到该小数点,且将顶端纵坐标设置为25后,能够避免该预设高度的线段扫描到过多的干扰信息。
52.步骤s14,根据扫描的结果确定第一目标颜色列在横向上的长度,上述第一目标颜色列包括至少两个相邻的第一颜色列,上述第一颜色列为各个像素点的像素值的和满足第一预设条件的像素列。
53.由于二值化图像只有黑色(像素值为0)和白色(像素值为255),因此,当第一颜色列中各个像素点(预设高度的线段扫描到的像素点,比如,在预设高度为20时,在一个像素列中能够扫描到20个像素点)的像素值的和大于某个值(比如大于220),则表明该第一颜色列存在白色的像素点。
54.本实施例中,第一目标颜色列包括至少两个相邻的第一颜色列,其包括的相邻的第一颜色列的个数等于其在横向上的长度。例如,当第一目标颜色列包括20个相邻的第一颜色列时,该第一目标颜色列在横向上的长度为20(20个像素个数所对应的长度)。需要指出的是,第一目标颜色列包括的第一颜色列为相邻的第一颜色列,例如,假设有像素列a、像素列b、像素列c、像素列d,其中,像素列a、像素列b和像素列d中各个像素点的像素值的和均满足第一预设条件,但像素列c中各个像素点的像素值的和不满足第一预设条件,则得到的第一目标颜色列包括像素列a和像素列b,而不包括像素列d。
55.本实施例中,若第一颜色列为白色的颜色列,则第一预设条件可设为220~10000,即,若某一个像素列被扫描到的像素点的像素值的和在上述第一预设条件的范围内,则该像素列为第一颜色列。
56.步骤s15,根据上述第一目标颜色列在横向上的长度判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
57.本实施例中,可根据经验,判断第一目标颜色列在横向上的长度是否满足经验上的小数点的长度范围要求,再根据比较结果判断第一目标颜色列所在的位置是否包括小数点的位置。
58.本技术实施例中,由于对包括仪表的表盘的目标图像预处理为二值化图像,因此,后续只需对只有黑色和白色的二值化图像进行识别即可,从而减少了后续识别的复杂度,
进而有利于提高后续从该二值化图像中确定出小数点的位置的准确率,且利于将该方法部署在电子设备的边缘。同时,由于采用预设高度的线段对二值化图像进行横向扫描,因此,能够保证获取到该二值化图像中所有在该预设高度范围内的像素点的像素值,从而能够根据获取的像素值确定出所有满足第一预设条件的第一颜色列,进而准确确定出包括相邻第一颜色列的第一目标颜色列在横向上的长度。而由于仪表的表盘所显示的同一个小数点或同一个数字均采用同一种颜色表示,也即,同一个小数点或同一个数字所在的各个像素列中的各个像素点的像素值的和均应满足第一预设条件,因此,设定第一目标颜色列只包括相邻的第一颜色列更符合实际情况,且由于表盘显示的小数点较小,也即,小数点在横向上的长度具有一定的限制,因此,后续能够根据第一目标颜色列的长度判断出该第一目标颜色列是否包括小数点所在的位置时更准确。也即,通过结合颜色信息以及长度信息能够提高小数点所在的位置的识别准确率。
59.在一些实施例中,考虑到小数点两边的空隙通常小于数字之间的空隙(如图3所示),则结合第一目标颜色列在横向上的长度以及该第一目标颜色列两边的颜色列所组成的目标颜色列在横向上的长度,判断该第一目标颜色列所在的位置是否包括小数点的位置,此时,该仪表的读数识别方法还包括:
60.根据扫描的结果确定第二目标颜色列在横向上的长度,其中,针对每个上述第二目标颜色列,上述第二目标颜色列包括至少两个相邻的第二颜色列,各个上述第二颜色列中存在一个与上述第一目标颜色列相邻的第二颜色列,且各个上述第二颜色列中超过50%比例的像素点的颜色与上述第一颜色列中超过50%比例的像素点的颜色不同。
61.上述步骤s15包括:
62.根据上述第一目标颜色列在横向上的长度以及上述第二目标颜色列在横向上的长度,判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
63.本实施例中,若第一颜色列中超过50%比例的像素点的颜色均为白色,则第二颜色列中超过50%比例的像素点的颜色均为黑色。
64.在本实施例中,第二目标颜色列可以由包括最靠近第一目标颜色列的左边的像素列的多个相邻的像素列组成,也可以由包括最靠近第一目标颜色列的右边的像素列的多个相邻的像素列组成。即本实施例确定的第二目标颜色列的数量可以为1,也可以为2。
65.由于第二目标颜色列与第一目标颜色列相邻,因此,根据第一目标颜色列在横向上的长度以及第二目标颜色列在横向上的长度来判断第一目标颜色列所在的位置是否包括小数点的位置,能够提高判断结果的准确性。即通过增加其他维度信息来提高判断结果的准确性。
66.在一些实施例中,为了进一步提高判断结果的准确率,仪表的读数识别方法还包括:
67.确定上述二值化图像中的目标连通域,上述目标连通域中指定颜色的像素值的和满足第二预设条件,上述指定颜色为与上述第一颜色列中超过50%比例的像素点的颜色相同的颜色。
68.其中,连通区域(connected component)也称为连通域,一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域(region blob)。连通区域分析(connected component analysis)、连通区域标记(connected component labeling)是指
将图像中的各个连通区域找出并标记。其中,图4示出了被标记的连通域示意图。具体地,假设第一颜色列中超过50%比例的像素点的颜色均为白色,则这里的指定颜色也为白色。即在一个连通域中,其白色的像素值的和满足第二预设条件,则该连通域为目标连通域。在一些实施例中,第二预设条件为:第一预设像素和阈值《指定颜色的像素值的和《第二预设像素和阈值。由于小数点在表盘上是以圆点的形式表示,而圆点这一连通域中的像素值的和必然在一个范围内,因此,设置第二预设条件为:第一预设像素和阈值《指定颜色的像素值的和《第二预设像素和阈值。通过上述设置,能够过滤掉太大的数字所对应的连通域,也能过滤掉太小的噪声所对应的连通域。
69.对应地,上述根据上述第一目标颜色列在横向上的长度以及上述第二目标颜色列在横向上的长度,判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置,包括:
70.根据上述第一目标颜色列在横向上的长度、上述第二目标颜色列在横向上的长度以及上述目标连通域中的指定坐标,判断上述第一目标颜色列所在的位置是否包括上述仪表的读数中的小数点的位置。
71.本实施例中,由于目标连通域中指定颜色的像素值的和满足第二预设条件,且指定颜色为与上述第一颜色列中超过50%比例的像素点的颜色相同的颜色,因此,保证该目标连通域所对应的图像内容与第一颜色列对应的图像内容相同,比如,两者对应的图像内容均为数字,或,两者对应的图像内容均为背景。此外,由于小数点是以圆点的形式表示,因此,小数点所在的区域必然是一个连通域,即,若目标连通域存在小数点,则该小数点必然与该目标连通域中的坐标存在关系,也即,根据两个目标颜色列在横向上的长度以及该目标连通域中的指定坐标来判断第一目标颜色列所在的位置是否包括小数点的位置,有利于提高判断结果的准确性。
72.在一些实施例中,上述指定坐标为上述目标连通域中的中心坐标,上述根据上述第一目标颜色列在横向上的长度、上述第二目标颜色列在横向上的长度以及上述目标连通域中的指定坐标,判断上述第一目标颜色列所在的位置是否包括上述仪表的读数中的小数点的位置,包括:
73.若上述第一目标颜色列在横向上的长度满足第一预设长度阈值条件、上述第二目标颜色列在横向上的长度满足第二预设长度阈值条件且上述目标连通域中的中心坐标在目标线段上,则判定上述第一目标颜色列所在的位置包括上述仪表的读数中的小数点的位置,否则,判定上述第一目标颜色列所在的位置不包括上述仪表的读数中的小数点的位置,其中,上述目标线段为上述第一目标颜色列在横向上的线段,比如,判断目标线段中各个像素点的横坐标是否与中心坐标的横坐标相等,若相等,则判定该中心坐标在目标线段上。
74.本实施例中,将指定坐标取为目标连通域的中心坐标,而中心坐标更能反应以圆点的形式表示的小数点的位置,即后续将该中心坐标与两个目标颜色列在横向上的长度来判断第一目标颜色列所在的位置是否包括小数点的位置,有利于提高判断结果的准确性。
75.在一些实施例中,若第一颜色列中超过50%比例的像素点的颜色为白色,则第一预设长度阈值条件可设为:4《长度《37,对应地,第二预设长度阈值条件可设为:1《长度《8。若第一颜色列中超过50%比例的像素点的颜色为黑色,则第一预设长度阈值条件可设为:1《长度《8,对应地,第二预设长度阈值条件可设为:4《长度《37。由于在实际情况中,小数点本
身在横向上的长度以及小数点附近的背景在横向上的长度均有一定的限制,因此,只有在第一目标颜色列在横向上的长度满足第一预设长度阈值条件、第二目标颜色列在横向上的长度满足第二预设长度阈值条件且中心坐标在目标线段上,才判定第一目标颜色列所在的位置包括小数点的位置,能够进一步提高判断结果的准确性。
76.在一些实施例中,在上述步骤s15之后,包括:
77.a1、通过光学字符识别(optical character recognition,ocr)检测算法对上述二值化图像进行识别。
78.a2、根据识别结果以及上述仪表的读数中的小数点的位置,得到上述仪表最终的读数。
79.本实施例中,通过ocr检测算法能够有效识别出二值化图像中的各个数字,再结合已识别出的小数点的位置,能够准确得到仪表的最终的读数。例如,假设通过ocr检测算法识别出二值化图像中的数字为12345,小数点的位置在数字4和5之间,则该仪表最终的读数为“1234.5”。由于仪表中的小数点存在面积小、与周围环境距离近等问题,而深度学习的方案很难提取到局部那么小的特征,因此,若直接采用基于深度学习的方案对目标图像进行识别,则其在识别小数点时,准确率较低。
80.在一些实施例中,上述预处理包括以下至少一种:中值滤波、自适应对比度增强以及图像腐蚀。
81.(1)、中值滤波
82.中值滤波器是一种常用的非线性滤波器,参考图5,其基本原理是选择待处理像素点的一个邻域中各像素值的中值来代替待处理的像素点的像素值,其主要功能是像素点的灰度值与周围像素点的灰度值比较接近,从而消除孤立的噪声点,即中值滤波器能够很好的消除椒盐噪声。不仅如此,中值滤波器在消除噪声的同时,还能有效的保护图像的边界信息,不会对图像造成很大的模糊(相比于均值滤波器)。
83.(2)、自适应对比度增强
84.将一幅图像分成两个部分:一是低频部分,可以通过图像的低通滤波(平滑模糊)获得;二是高频部分,可以由原图减去低频部分得到。而算法的目标是增强代表细节的高频部分,即对高频部分乘以某个增益值,然后重组得到增强的图像。
85.(3)、图像腐蚀操作
86.腐蚀的运算符是
“‑”
,其定义如下:
[0087][0088]
该公式表示图像a用卷积模板b来进行腐蚀处理,通过模板b与图像a进行卷积计算,得出b覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。如图6所示,将左边的原始图像a腐蚀处理为右边的效果图a-b。
[0089]
本实施例中,由于中值滤波和图像腐蚀均能够有效消除噪声,而自适应对比度增强能够增加图像的对比度,因此,当预处理包括中值滤波、自适应对比度增强以及图像腐蚀中的至少一种时,有利于提高后续判断结果的准确率。
[0090]
在一些实施例中,若上述预处理包括中值滤波、自适应对比度增强以及图像腐蚀,则上述对上述目标图像进行预处理,得到二值化图像,包括:
[0091]
按顺序对上述目标图像进行中值滤波、自适应对比度增强以及图像腐蚀的处理,
得到二值化图像。
[0092]
本实施例中,由于中值滤波能够过滤图像任何区域的随机噪声,而图像腐蚀操作是对图像里面的白色高亮部分缩小,它消除的一般是目标连通区域周边的一些毛刺,因此,先通过中值滤波进行第一次噪声滤除之后,再通过自适应对比度增强来提高图像的对比度,最后再通过图像腐蚀进行第二次噪声滤除,能够提高噪声的滤除的准确性,且提高二值化图像中的对比度,进而有利于提高后续对小数点位置的识别的准确度。
[0093]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0094]
实施例二:
[0095]
对应于上文实施例所述的仪表的读数识别方法,图7示出了本技术实施例提供的仪表的读数识别装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0096]
参照图7,该仪表的读数识别装置7可应用于电子设备中,该仪表的读数识别装置7包括:目标图像获取模块71、目标图像预处理模块72、图像扫描模块73、第一长度确定模块74、小数点的位置判断模块75。其中:
[0097]
目标图像获取模块71,用于获取目标图像,上述目标图像包括仪表的表盘;
[0098]
目标图像预处理模块72,用于对上述目标图像进行预处理,得到二值化图像;
[0099]
图像扫描模块73,用于采用预设高度的线段对上述二值化图像进行横向扫描;
[0100]
在一些实施例中,上述预设高度的线段的底端纵坐标是5(当然,也可以为其他值,比如4,只需靠近0即可),顶端纵坐标是25(当然,也可以为其他值,只需大于20即可),这里的坐标的单位是像素个数,即底端纵坐标是5个像素个数所对应的高度值。
[0101]
第一长度确定模块74,用于根据扫描的结果确定第一目标颜色列在横向上的长度,上述第一目标颜色列包括至少两个相邻的第一颜色列,上述第一颜色列为各个像素点的像素值的和满足第一预设条件的像素列;
[0102]
小数点的位置判断模块75,用于根据上述第一目标颜色列在横向上的长度判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
[0103]
本技术实施例中,由于对包括仪表的表盘的目标图像预处理为二值化图像,因此,后续只需对只有黑色和白色的二值化图像进行识别即可,从而减少了后续识别的复杂度,进而有利于提高后续从该二值化图像中确定出小数点的位置的准确率。同时,由于采用预设高度的线段对二值化图像进行横向扫描,因此,能够保证获取到该二值化图像中所有在该预设高度范围内的像素点的像素值,从而能够根据获取的像素值确定出所有满足第一预设条件的第一颜色列,进而准确确定出包括相邻第一颜色列的第一目标颜色列在横向上的长度。而由于仪表的表盘所显示的同一个小数点或同一个数字均采用同一种颜色表示,也即,同一个小数点或同一个数字所在的各个像素列中的各个像素点的像素值的和均应满足第一预设条件,因此,设定第一目标颜色列只包括相邻的第一颜色列更符合实际情况,且由于表盘显示的小数点较小,也即,小数点在横向上的长度具有一定的限制,因此,后续能够根据第一目标颜色列的长度判断出该第一目标颜色列是否包括小数点所在的位置时更准确。也即,通过结合颜色信息以及长度信息能够提高小数点所在的位置的识别准确率。
[0104]
在一些实施例中,该仪表的读数识别装置7还包括:
[0105]
第二长度确定模块,用于根据扫描的结果确定第二目标颜色列在横向上的长度,其中,针对每个上述第二目标颜色列,上述第二目标颜色列包括至少两个相邻的第二颜色列,各个上述第二颜色列中存在一个与上述第一目标颜色列相邻的第二颜色列,且各个上述第二颜色列中超过50%比例的像素点的颜色与上述第一颜色列中超过50%比例的像素点的颜色不同;
[0106]
上述小数点的位置判断模块75具体用于:
[0107]
根据上述第一目标颜色列在横向上的长度以及上述第二目标颜色列在横向上的长度,判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置。
[0108]
在一些实施例中,该仪表的读数识别装置7还包括:
[0109]
目标连通域确定模块,用于确定上述二值化图像中的目标连通域,上述目标连通域中指定颜色的像素值的和满足第二预设条件,上述指定颜色为与上述第一颜色列中超过50%比例的像素点的颜色相同的颜色;
[0110]
上述小数点的位置判断模块75在根据上述第一目标颜色列在横向上的长度以及上述第二目标颜色列在横向上的长度,判断上述第一目标颜色列所在的位置是否包括仪表的读数中的小数点的位置时,具体用于:
[0111]
根据上述第一目标颜色列在横向上的长度、上述第二目标颜色列在横向上的长度以及上述目标连通域中的指定坐标,判断上述第一目标颜色列所在的位置是否包括上述仪表的读数中的小数点的位置。
[0112]
在一些实施例中,第二预设条件为:第一预设像素和阈值《指定颜色的像素值的和《第二预设像素和阈值。由于小数点在表盘上是以圆点的形式表示,而圆点这一连通域中的像素值的和必然在一个范围内,因此,设置第二预设条件为:第一预设像素和阈值《指定颜色的像素值的和《第二预设像素和阈值,能够过滤掉太大的数字所对应的连通域,也能过滤掉太小的噪声所对应的连通域。
[0113]
在一些实施例中,上述指定坐标为上述目标连通域中的中心坐标,上述上述小数点的位置判断模块75在根据上述第一目标颜色列在横向上的长度、上述第二目标颜色列在横向上的长度以及上述目标连通域中的指定坐标,判断上述第一目标颜色列所在的位置是否包括上述仪表的读数中的小数点的位置时,具体用于:
[0114]
若上述第一目标颜色列在横向上的长度满足第一预设长度阈值条件、上述第二目标颜色列在横向上的长度满足第二预设长度阈值条件且上述目标连通域中的中心坐标在目标线段上,则判定上述第一目标颜色列所在的位置包括上述仪表的读数中的小数点的位置,否则,判定上述第一目标颜色列所在的位置不包括上述仪表的读数中的小数点的位置,其中,上述目标线段为上述第一目标颜色列在横向上的线段。
[0115]
在一些实施例中,若第一颜色列中超过50%比例的像素点的颜色为白色,则第一预设长度阈值条件可设为:4《长度《37,对应地,第二预设长度阈值条件可设为:1《长度《8。若第一颜色列中超过50%比例的像素点的颜色为黑色,则第一预设长度阈值条件可设为:1《长度《8,对应地,第二预设长度阈值条件可设为:4《长度《37。由于在实际情况中,小数点本身在横向上的长度以及小数点附近的背景在横向上的长度均有一定的限制,因此,只有在第一目标颜色列在横向上的长度满足第一预设长度阈值条件、第二目标颜色列在横向上的长度满足第二预设长度阈值条件且中心坐标在目标线段上,才判定第一目标颜色列所在的
位置包括小数点的位置,能够进一步提高判断结果的准确性。
[0116]
在一些实施例中,该仪表的读数识别装置7还包括:
[0117]
图像识别模块,用于通过光学字符识别检测算法对上述二值化图像进行识别;
[0118]
读数确定模块,用于根据识别结果以及上述仪表的读数中的小数点的位置,得到上述仪表最终的读数。
[0119]
在一些实施例中,上述预处理包括以下至少一种:中值滤波、自适应对比度增强以及图像腐蚀。
[0120]
在一些实施例中,若上述预处理包括中值滤波、自适应对比度增强以及图像腐蚀,则目标图像预处理模块72具体用于:
[0121]
按顺序对上述目标图像进行中值滤波、自适应对比度增强以及图像腐蚀的处理,得到二值化图像。
[0122]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0123]
实施例三:
[0124]
图8为本技术一实施例提供的电子设备的结构示意图。如图8所示,该实施例的电子设备8包括:至少一个处理器80(图8中仅示出一个处理器)、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个方法实施例中的步骤。
[0125]
所述电子设备8可以是机器人、桌上型计算机、笔记本、掌上电脑及云端服务器等设备。该电子设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是电子设备8的举例,并不构成对电子设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0126]
所称处理器80可以是中央处理单元(central processing unit,cpu),该处理器80还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0127]
所述存储器81在一些实施例中可以是所述电子设备8的内部存储单元,例如电子设备8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述电子设备8的外部存储设备,例如所述电子设备8上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器81还可以既包括所述电子设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
[0128]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129]
本技术实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0130]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0131]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
[0132]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0133]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0134]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0135]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0136]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0137]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献