数字式仪表读数方法、装置、计算机设备和存储介质与流程

文档序号:24738395发布日期:2021-04-20 20:42阅读:178来源:国知局
数字式仪表读数方法、装置、计算机设备和存储介质与流程

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.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
59.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
60.本申请提供的指针式仪表读数方法,可以应用于配电房、变电站等场景下的机器人智能巡检和自动抄表作业等。在一个实施例中,如图1所示,提供了一种数字式仪表读数方法,包括以下步骤:
61.步骤s102,对数字式仪表图像对应的二值化图像进行形态学处理,得到二值化图像中的候选仪表区域。
62.其中,形态学处理是针对二值图像依据数学形态学(mathematical morphology)的集合论方法的图像处理方法,主要用于研究图像中物体目标的结构及拓扑关系。其中,二值化图像的基本形态学处理包括腐蚀、膨胀、以及开运算和闭运算,腐蚀可理解为将图像“变瘦”,膨胀可理解为将图像“变胖”,开运算表示先腐蚀后膨胀的运算方式,闭运算则表示先膨胀后腐蚀的运算方式。
63.具体实现中,在机器人进行自动抄表作业或巡检时,由于相机拍摄的数字式仪表图像为rgb格式的图像,因此,需先将rgb格式的图像转换为hsv格式,然后按照hsv值对数字式仪表图像进行二值化处理,使亮红色的数字区域的灰度值为255,其它区域的灰度值为0,得到数字式仪表图像对应的二值化图像。然后,对得到的二值化图像进行形态学处理,使得每个数字式仪表的图像各自连成一片,从形态学处理后的图像中识别出多个外轮廓,并获取各个外轮廓的外接矩形,从各个外接矩形所包括的区域中确定出候选仪表区域。
64.步骤s104,根据候选仪表区域中像素点的灰度值,从候选仪表区域中提取出多个候选行区域。
65.具体实现中,在得到候选仪表区域后,先对候选仪表区域对应的二值化图像进行形态学处理,得到多个初始行区域,然后按照预设的灰度阈值对各个初始行区域构成的列图像进行二值化处理和形态学处理,使得各行之间存在较清晰的界限,得到形态学处理后的二值化列图像,获取形态学处理后的二值化图像中的各个初始行区域的灰度值,将灰度值连续大于灰度阈值的初始行区域,作为候选行区域。
66.步骤s106,对候选行区域进行区域划分,得到候选行区域对应的多个候选字符区域。
67.具体实现中,在从候选仪表区域中识别出各个候选行区域后,计算各个候选行区域内各列的灰度值均值,得到一行图像,通过预设灰度阈值对该行图像再次进行二值化处理,得到二值化行图像,从二值化行图像中提取出灰度值连续大于预设灰度阈值的区间,并获取连续大于预设灰度阈值的区间的终点之间的间距值。若该间距值不符合预设条件,则修正预设灰度阈值,重新对候选行区域的图像进行二值化处理,直至间距值符合预设条件,得到目标区间,作为候选字符区域。
68.步骤s108,识别各个候选字符区域对应的字符,以及各个候选字符区域的右下角是否存在小数点。
69.具体实现中,在得到各个候选字符区域后,可通过不同的灰度阈值(例如,可按照从小到大的灰度阈值顺序)对候选字符区域的原始图像的灰度图进行二值化处理,直到能分离出单段的数码管,得到二值化字符图像,然后将二值化字符图像的尺寸变换至基准尺寸,对得到的基准尺寸的二值化字符图像进行形态学处理,得到形态学处理后的字符图像,之后采用穿线法对形态学处理后字符图像进行字符识别,得到各个候选字符区域对应的字符。
70.对已识别出的单个字符,判断其右下角是否存在小数点时,为解决字符和小数点连成一片造成的干扰,对于小数点左侧紧邻数码管竖线的字符(记为非预设字符,对应字符为除了2以外的其它数字)和左侧无数码管竖线的字符(记为预设字符,对应字符为2)两种情况分别进行处理。
71.更具体地,若候选字符为预设字符,则获取预设字符图像右下角区域的灰度图,从该灰度图中识别出多个圆形区域,并使用不同大小的圆对右下角区域的二值化图像进行开操作;若开操作后的二值化图像中存在符合预设条件的轮廓,则判定候选字符右下角存在小数点;预设条件为轮廓数量大于预设值,且最右侧轮廓中包含任一个圆形区域的圆心,且最右侧轮廓的轮廓参数与任一个圆形区域相同。
72.若候选字符不为预设字符,则对候选字符的二值化字符图像进行细化处理,得到细化字符图像;获取二值化字符图像和细化字符图像的差值区域,若差值区域中存在与预设的小数点尺寸参数相同的轮廓,则判定候选字符右下角存在小数点。
73.步骤s110,根据各个字符和小数点识别结果,得到数字式仪表图像对应的仪表读数。
74.具体实现中,将每个候选行区域中识别出的各个字符进行拼接,得到一串字符串,按照预设的字符串与数字之间的映射关系将该字符串转换为数字。若某行字符串不能转换为数字,且有能转换为数字的另一行字符串占据了该行所在矩形区域,则认为前者是后者的半行图像,去掉前者,最后,根据得到的数字和小数点,得到数字式仪表图像对应的仪表读数。
75.上述数字式仪表读数方法中,通过形态学处理,提取拍摄的数字式仪表图像中的候选仪表区域,然后根据所述候选仪表区域中像素点的灰度值,从所述候选仪表区域中提取出多个候选行区域,再将候选行区域进行区域划分,得到各个候选行区域对应的多个候选字符区域,然后,识别各个候选字符区域对应的字符以及各个所述候选字符区域的右下
角是否存在小数点,最后根据识别得到的字符和小数点识别结果计算仪表读数。该方法实现了由八段数码管组成的数字式仪表读数自动识别,通过形态学处理能实现对模糊图像中的各个字符和小数点的准确分割,无需基于图像像素进行识别,因此无需要求较高的图像质量,从而,解决了传统方法存在的需要较高的图像质量,若拍摄的图像模糊或变形,则识别结果容易出错的技术问题。并且,该方法计算量小,对处理设备性能要求较低,可在本地端实现。
76.在一个实施例中,上述步骤s102具体包括:对二值化图像进行形态学处理,得到形态学仪表图像;从形态学仪表图像中识别出多个外轮廓,并获取各个外轮廓的外接矩形;获取外接矩形所包括区域的图像灰度均值,将图像灰度均值大于预设均值阈值的矩形区域作为候选仪表区域。
77.具体实现中,对二值化图像进行形态学处理的具体步骤包括:先进行闭操作,以连接断点;再进行开操作,以去除孤立散点和边缘毛刺;接着进行膨胀处理,以加粗字迹,并将相邻数码管连为一体;最后进行闭操作,以填充字符中及字符之间的孔洞,由此得到形态学仪表图像。之后,识别形态学仪表图像中的所有外轮廓,分别计算各轮廓的外接矩形,以及该外接矩形区域内的图像灰度均值,将灰度均值高于均值阈值(例如,200)的矩形区域作为候选仪表区域。
78.本实施例中,通过对二值化图像进行形态学处理,使得每个数字式仪表的图像各自连成一片,实现了数字式仪表图像的分离,由于二值化图像中亮红色的数字区域的灰度值为255,其它区域灰度值为0,因此,通过各个外接矩形区域内的灰度均值与均值阈值的对比,可提取得到可能包含数字区域的候选仪表区域,以便于进一步识别候选仪表区域内的数字。
79.在一个实施例中,上述步骤s104具体包括:对候选仪表区域对应的二值化图像进行形态学处理,得到多个初始行区域;通过预设的灰度阈值对初始行区域构成的列图像进行二值化处理和形态学处理,得到形态学处理后的二值化列图像,将形态学处理后的二值化列图像中灰度值连续大于灰度阈值的初始行区域,作为候选行区域。
80.具体实现中,在得到候选仪表区域后,先对候选仪表区域的原图像,按照灰度值进行otsu(大津法,一种确定图像二值化分割阈值的算法)二值化处理,得到候选仪表区域对应的二值化图像,然后对得到的二值化图像进行形态学处理,使得各行之间存在较清晰界限,得到多个初始行区域。该形态学处理的具体过程为:先进行开操作,以去除孤立散点和边缘毛刺;再进行闭操作,以连接断点。之后,对得到的形态学处理后的二值化图像,求各个初始行区域的各行的灰度值均值,得到一列图像,对该列图像进行二值化处理和形态学处理,使得各行之间存在较清晰界限,得到形态学处理后的二值化列图像,其中,此次形态学处理的具体过程为:先进行闭操作,以连接断点;再进行开操作,以去除分散单点。之后,从得到的形态学处理后的二值化列图像中,识别出灰度值连续非0的初始行区域,作为候选行区域。
81.进一步地,在一个实施例中,从候选仪表区域中提取出多个候选行区域,还包括:若相邻的两个初始行区域的高度差小于高度差阈值,且中间空隙小于空隙阈值,则分别计算各个初始行区域靠近中间空隙的区域中像素点的灰度值均值和灰度值方差;若相邻的两个初始行区域的灰度值均值的差值小于均值阈值,且灰度值方差的差值小于方差阈值,则
将两个初始行区域合并后作为候选行区域。
82.具体地,如果相邻两个初始行区域的高度接近、中间空隙较小,则分别计算两个初始行区域靠近中间空隙部分的灰度值均值和灰度值方差,如果二者均值接近,且方差都很小,则将这两个初始行区域合并后得到的行区域也作为候选行区域,由于这种情况下,可能是数字0、1、7被错误分割成上下两半,因此将合并后的行区域也加入候选行区域。
83.本实施例中,通过对候选仪表区域多次进行二值化处理和形态学处理,以提高各行之间界限的清晰度,得到界限分明的候选行区域,并且在相邻两个初始行区域的高度接近、中间空隙较小的情况下,通过计算这两个初始行区域靠近中间空隙部分的灰度值均值和灰度值方差,判定这两个初始行区域是否是被错误分割的数字区域,并在判定可能是数字0、1、7被错误分割成上下两半时,将这两个初始行区域合并后,也加入候选行区域,避免了0、1、7等数字被错误分割导致读数不准确的情况。
84.在一个实施例中,上述步骤s106具体包括:
85.通过预设灰度阈值对候选行区域构成的行图像进行二值化处理,得到二值化行图像;
86.从二值化行图像中筛选出灰度值连续大于预设灰度阈值的区间,并获取连续大于预设灰度阈值的区间的终点之间的间距值;
87.若间距值不符合预设条件,则修正预设灰度阈值,重新对候选行区域的图像进行二值化处理,直至间距值符合预设条件,得到目标区间,作为候选字符区域。
88.其中,预设条件为间距均匀,且约为候选行高度的设定倍数。
89.具体实现中,在对候选仪表区域对应的二值化图像进行形态学处理,得到候选行区域后,可通过计算处理得到的候选行区域的图像中各列的灰度值均值,得到一行图像,作为候选行区域对应的行图像,进一步通过预设灰度阈值对对该行图像进行二值化处理,得到二值化行图像,从该二值化行图像中筛选出灰度值连续非0的区间。更具体地,对于特别窄(宽度小于候选行高度的0.1倍)的区间,如果该窄区间不在最左侧,且该窄区间与左侧区间的间隔很小,两个区间合并后宽度合适,则认为该窄区间可能是小数点,将其合并至左侧区间,否则去掉该窄区间。判断各个非0区间的终点之间的间距是否均匀,且约为候选行高度的设定倍数(例如,0.6~0.8倍),若不满足该预设条件,则修正灰度阈值重新对候选行区域构成的行图像进行二值化处理,直至得到的间距值符合预设条件,得到目标区间。其中,对灰度阈值的修正原则可以为,间距过宽时,增大灰度阈值,间距过窄时,则减小灰度阈值。
90.进一步地,在得到目标区间后,分别将与该目标区间相连两侧0区间(即两个目标区间之间的空隙部分)的一半合并至目标区间,具体地,若该0区间在目标区间的左侧,则将该0区间的右半部分合并至目标区间,若该0区间在目标区间的右侧,则将该0区间的左半部分合并至目标区间,将合并后的目标区间作为候选字符区域。
91.本实施例中,在得到候选行区域后,对各候选行区域进行区域划分,得到每个候选行区域包括的多个候选字符区域,以便于进一步识别各个候选字符区域的字符,确定各候选字符区域对应的数字。
92.在一个实施例中,如图2所示,上述步骤s108中识别各个候选字符区域对应的字符的步骤,包括:
93.步骤s202,对候选字符区域对应的灰度图进行二值化处理,得到二值化字符图像;
94.步骤s204,将二值化字符图像的尺寸变换至基准尺寸,对得到的基准尺寸的二值化字符图像进行形态学处理,得到形态学处理后的字符图像;
95.步骤s206,采用穿线法对形态学处理后字符图像进行字符识别,得到各个候选字符区域对应的字符。
96.具体实现中,在得到二值化字符图像后,将该图像的尺寸变换到基准尺寸的过程为:若记包围二值化图像中非0点的最小矩形尺寸为[w,h],标准尺寸为[w
*
,h
*
],则将该矩形区域按照0.8w
*
/w的系数进行缩放,然后贴在尺寸为[w
*
,h
*
]的黑底图中心,由此得到基准尺寸的二值化字符图像。对该基准尺寸的二值化字符图像进行形态学处理的具体过程为:先进行闭操作,以连接断点;再进行开操作,以平滑各段数码管边缘毛刺,通过此次形态学处理,使得各段数码管光滑清晰。然后对得到的形态学处理后的字符图像,如图3所示,采用穿线法,截取三条线:中间纵截面、上半部分横截面、下半部分横截面;计算三条线各自的线段数目及位置,在纵截面上中下不同区域则分别累加1、2、4(不重复累加),在横截面左右不同区域则分别累加1、2(不重复累加),三条线各自的累加结果分别记为x、y、z,则可得到如下表1所示的xyz与对应字符之间的映射关系。在得到各个候选字符区域的xyz值后,根据下表1可得到各个候选字符区域对应的字符,实现字符识别。其中,若得到的候选字符区域的xyz的值不在下表中,且w/h小于0.2,则判定字符识别结果为1。
[0097]
xyz533721722232712713122/522733732200字符023456789

[0098]
表1
[0099]
本实施例中,使用不同的灰度阈值对候选字符区域对应的灰度图进行二值化处理,使得能够分离出单段的数码管,以提高对字符识别结果的准确度,该方法对光照条件不敏感,对数码管自身的颜色偏差不敏感,无需数码管颜色保持一致,因此,具有较强的环境适应性。而将得到的二值化图像变换为基准尺寸,避免了拍摄的图像出现变形时导致识别结果出错的问题,进一步提高了对字符识别结果的准确度。
[0100]
在一个实施例中,上述步骤s108中识别各个所述候选字符区域的右下角是否存在小数点的步骤,具体包括:若候选字符为预设字符,则获取预设字符图像右下角区域的灰度图,从该灰度图中识别出多个圆形区域,并使用不同大小的圆对右下角区域的二值化图像进行开操作;若开操作后的二值化图像中存在符合预设条件的轮廓,则判定候选字符右下角存在小数点;预设条件为轮廓数量大于预设值,且最右侧轮廓中包含任一个圆形区域的圆心,且最右侧轮廓的轮廓参数与任一个圆形区域相同。若候选字符不为预设字符,则对候选字符的二值化字符图像进行细化处理,得到细化字符图像;对细化字符图像进行横向重建处理和竖向重建处理,得到重建字符图像;获取二值化字符图像和重建字符图像的差值区域,若差值区域中存在与预设的小数点尺寸参数相同的轮廓,则判定候选字符右下角存在小数点。
[0101]
具体实现中,当候选字符的识别结果不为预设字符,即不为2时,对步骤s202得到的二值化符图像,取前3/4行的每行中连续非0线段的中点,得到细化图像,然后对细化图像关于原二值化图像,进行横向重建,再对横向重建结果关于原二值化图像,进行竖向重建,最后用原二值化图像减去竖向重建结果,得到剩余部分,此时小数点和数字已被分开。若剩余部分中,有轮廓在竖向重建结果所有非0点的右侧,且尺寸和面积合适,则认为存在小数
点,反之则不存在小数点。当该字符识别结果为预设字符,即为2时,截取候选字符区域内原图像的灰度图的右下角部分灰度图,使用hough变换,找该图像中的圆,对该图像按照灰度值进行otsu二值化处理,然后从小到大,使用不同大小的圆作为结构元,对二值化图像进行开操作,如果处理后的二值化图像中轮廓数量为2,最右侧的轮廓中包含灰度图中某个圆的圆心,且轮廓大小与该圆接近,则认为存在小数点,反之则不存在小数点。
[0102]
本实施例中,通过对小数点左侧紧邻数码管竖线的字符(对应非预设字符)和无数码管竖线(对应预设字符)两种情况分别进行处理,可以解决字符和小数点连成一片的困扰,识别小数点的准确识别,进而提高读数结果的准确性。
[0103]
通过上述实施例提供的数字式仪表读数方法,能够实现对单行、多行、数码管大小不一、数码管老旧后亮度不均、颜色有偏差等种类多样的数字式仪表的读数进行准确识别,不受环境光线的影响,通过多次形态学处理和二值化处理,可实现对数码管各段粗细不均、各段之间存在粘连的图像中的数字和小数点进行准确识别。
[0104]
应该理解的是,虽然图1

2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1

2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0105]
在一个实施例中,如图4所示,提供了一种数字式仪表读数装置,包括:仪表区域获取模块402、候选行区域提取模块404、候选字符区域获取模块406、字符识别模块408和仪表读数获取模块410,其中:
[0106]
仪表区域获取模块402,用于对数字式仪表图像对应的二值化图像进行形态学处理,得到二值化图像中的候选仪表区域;
[0107]
候选行区域提取模块404,用于根据候选仪表区域中像素点的灰度值,从候选仪表区域中提取出多个候选行区域;
[0108]
候选字符区域获取模块406,用于对候选行区域进行区域划分,得到候选行区域对应的多个候选字符区域;
[0109]
字符识别模块408,用于识别各个候选字符区域对应的字符,以及各个候选字符区域的右下角是否存在小数点;
[0110]
仪表读数获取模块410,用于根据各个数字和小数点识别结果,得到数字式仪表图像对应的仪表读数。
[0111]
在一个实施例中,上述仪表区域获取模块402,具体用于对二值化图像进行形态学处理,得到形态学仪表图像;从形态学仪表图像中识别出多个外轮廓,并获取各个外轮廓的外接矩形;获取外接矩形所包括区域的图像灰度均值,将图像灰度均值大于预设均值阈值的矩形区域作为候选仪表区域。
[0112]
在一个实施例中,上述候选行区域提取模块404,具体用于对候选仪表区域对应的二值化图像进行形态学处理,得到多个初始行区域;通过预设灰度阈值对初始行区域构成的列图像进行二值化处理和形态学处理,得到形态学处理后的二值化列图像,将形态学处理后的二值化列图像中灰度值连续大于预设灰度阈值的初始行区域,作为候选行区域。
[0113]
在一个实施例中,上述候选行区域提取模块404,还用于若相邻的两个初始行区域的高度差小于高度差阈值,且中间空隙小于空隙阈值,则分别计算各个初始行区域靠近中间空隙的区域中像素点的灰度值均值和灰度值方差;若相邻的两个初始行区域的灰度值均值的差值小于均值阈值,且灰度值方差的差值小于方差阈值,则将两个初始行区域合并后作为候选行区域。
[0114]
在一个实施例中,上述候选字符区域获取模块406,具体用于通过预设灰度阈值对候选行区域构成的行图像进行二值化处理,得到二值化行图像;从二值化行图像中提取出灰度值连续大于预设灰度阈值的区间,并获取连续大于预设灰度阈值的区间的终点之间的间距值;若间距值不符合预设条件,则修正预设灰度阈值,重新对候选行区域的图像进行二值化处理,直至间距值符合预设条件,得到目标区间,作为候选字符区域。
[0115]
在一个实施例中,上述字符识别模块408,具体用于对候选字符区域对应的灰度图进行二值化处理,得到二值化字符图像;将二值化字符图像的尺寸变换至基准尺寸,对得到的基准尺寸的二值化字符图像进行形态学处理,得到形态学处理后的字符图像;采用穿线法对形态学处理后字符图像进行字符识别,得到各个候选字符区域对应的字符。
[0116]
在一个实施例中,上述字符识别模块408,还用于若候选字符为预设字符,则获取预设字符图像右下角区域的灰度图,从该灰度图中识别出多个圆形区域,并使用不同大小的圆对右下角区域的二值化图像进行开操作;若开操作后的二值化图像中存在符合预设条件的轮廓,则判定候选字符右下角存在小数点;预设条件为轮廓数量大于预设值,且最右侧轮廓中包含任一个圆形区域的圆心,且最右侧轮廓的轮廓参数与任一个圆形区域相同;若候选字符不为预设字符,则对候选字符的二值化字符图像进行细化处理,得到细化字符图像;对细化字符图像进行横向重建处理和竖向重建处理,得到重建字符图像;获取二值化字符图像和重建字符图像的差值区域,若差值区域中存在与预设的小数点尺寸参数相同的轮廓,则判定候选字符右下角存在小数点。
[0117]
需要说明的是,本申请的数字式仪表读数装置与本申请的数字式仪表读数方法一一对应,在上述数字式仪表读数方法的实施例阐述的技术特征及其有益效果均适用于数字式仪表读数装置的实施例中,具体内容可参见本申请方法实施例中的叙述,此处不再赘述,特此声明。
[0118]
此外,上述数字式仪表读数装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0119]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数字式仪表读数方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计
算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0120]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0121]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0122]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0123]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0124]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0125]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1