一种仪表波段开关位置识别方法与流程

文档序号:12272289阅读:944来源:国知局
一种仪表波段开关位置识别方法与流程

本发明涉及一种仪表波段开关位置识别方法。



背景技术:

目前针对指针式仪表的示值识别基本都是针对仪表表盘刻度和指针,但许多仪表尤其是模拟式仪表面板上还有各种波段开关,由波段开关选择的功能和量程结合表头才能正确读数。现有的识别方法无法对波段开关的位置进行识别。



技术实现要素:

本发明为了克服以上技术的不足,提供了一种仪表波段开关位置可以准确提取的方法。

本发明克服其技术问题所采用的技术方案是:

一种仪表波段开关位置识别方法,包括如下步骤:

a)对仪表的外表面进行原始图像采集,并将采集的原始图像输入计算机;

b) 利用计算机对原始图像进行灰度化处理将原始图像由彩色图像转换为灰度图像;

c) 利用计算机对灰度图像进行二值化处理;

d)利用计算机通过opencv函数库中的寻找轮廓函数算法得到二值图像中的N个轮廓,在N个轮廓之外分别建立矩形,各个轮廓分别位于对应的矩形之内;

e)利用计算机定位到波段开关旋钮的轮廓所在的矩形区域,计算机对该矩形区域内的M个像素点的坐标值作平均值计算,计算出该矩形的中点,定义为波段开关旋钮的中心;

f)若波段开关上的指示标示在波段开关的旋钮内侧,则执行步骤g),若波段开关上的指示标示在波段开关的旋钮外侧,则执行步骤h);

g)计算机计算波段开关旋钮的中心的图像的灰度值,将波段开关旋钮的轮廓所在的矩形区域内的图像的M个像素点的灰度值与波段开关旋钮的中心的灰度值求差,差值最大的P个像素点形成的区域为波段开关的指示标示。

h)计算机将波段开关旋钮的轮廓所在的矩形区域内的图像的M个像素点由平面直角坐标转换为极坐标并对M个像素点求导数,得到Y个导数值最大的像素点且Y个像素点彼此导数值相同,Y个像素点之间的闭合区域为波段开关的指示标示。

为了减小图像噪声以及提高图像的清晰度,上述步骤b)中的图像转化为灰度图像后,还包括将灰度图像转换为Mat型的Image图像,计算机利用OpenCV函数对Image图像进行平滑及锐化处理的步骤。

为了排除光照导致的干扰,还包括在步骤g)中增加利用计算机计算差值最大的P个像素点与波段开关旋钮的中心的距离的步骤,当差值最大的P个像素点中的Q个像素点与波段开关旋钮的中心的距离大于波段开关旋钮的半径时,计算机将Q个像素点去除。

本发明的有益效果是。

附图说明

图1为波段开关上的指示标示在波段开关的旋钮内侧的结构示意图;

图2为波段开关上的指示标示在波段开关的旋钮外侧的结构示意图。

具体实施方式

下面结合附图1、附图2对本发明做进一步说明。

一种仪表波段开关位置识别方法,包括如下步骤:a)对仪表的外表面进行原始图像采集,并将采集的原始图像输入计算机。b) 利用计算机对原始图像进行灰度化处理将原始图像由彩色图像转换为灰度图像,由于彩色图像一般是RGB格式,即每个像素由R(红色)、G(绿色)、B(蓝色)三个分量组成,对于24位真彩色,每个分量要用1个字节表示,数据存储量大且难以处理,因此有必要将彩色图像转换为灰度图像。灰度图像只包含亮度信息,不包含色彩信息,因此降低了计算机的数据处理量。c) 利用计算机对灰度图像进行二值化处理,将灰度图像转换为二值图像有利于提高处理速度,满足实时性要求。二值图像是指整幅图像只有0,255两个灰度值的图像,在它们之间不存在其他的灰度值。d)利用计算机通过opencv函数库中的寻找轮廓函数算法得到二值图像中的N个轮廓,在N个轮廓之外分别建立矩形,各个轮廓分别位于对应的矩形之内。e)利用计算机定位到波段开关旋钮的轮廓所在的矩形区域,计算机对该矩形区域内的M个像素点的坐标值作平均值计算,计算出该矩形的中点,定义为波段开关旋钮的中心O点。f)如附图1所示,若波段开关上的指示标示在波段开关的旋钮内侧,则执行步骤g),如附图2所示,若波段开关上的指示标示在波段开关的旋钮外侧,则执行步骤h)。g)计算机计算波段开关旋钮的中心的图像的灰度值,将波段开关旋钮的轮廓所在的矩形区域内的图像的M个像素点的灰度值与波段开关旋钮的中心O点的灰度值求差,差值最大的P个像素点形成的区域为波段开关的指示标示,如图1中所示的A区域,从而实现了指示标示在波段开关上的波段开关的指示标示的位置的准确识别。h)计算机将波段开关旋钮的轮廓所在的矩形区域内的图像的M个像素点由平面直角坐标转换为极坐标并对M个像素点求导数,得到Y个导数值最大的像素点且Y个像素点彼此导数值相同,Y个像素点之间的闭合区域为波段开关的指示标示,如图2中所示的B区域,从而实现了指示标示在外侧的波段开关的指示标示的位置的准确识别。

上述步骤b)中的图像转化为灰度图像后,还包括将灰度图像转换为Mat型的Image图像,计算机利用OpenCV函数对Image图像进行平滑及锐化处理的步骤。因为OpenCV处理的图片是Mat型矩阵,因此先要将图像进行格式转换,计算机对图像先进行平滑滤波,顾名思义信号上就是将一个波的毛刺或某一频率以上的部分去掉,简单说就是低通滤波。反应到图像上就是降噪和图像模糊处理(由于高频反应了细节,故而去除细节得到模糊的轮廓),由于图像的边缘一般处于高频部分,所以这种平滑滤波就会造成边缘模糊,即图像与背景不会泾渭分明而是模糊过渡。因此需要对模糊的图像再进行图像锐化,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。微分运算是求信号的变化率,由傅立叶变换的微分性质可知,微分运算具有较强高频分量作用。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。通过增加对图像平滑及锐化的处理,进一步提高了后续步骤中的清晰度和准确性。

进一步的,还包括在步骤g)中增加利用计算机计算差值最大的P个像素点与波段开关旋钮的中心的距离的步骤,当差值最大的P个像素点中的Q个像素点与波段开关旋钮的中心的距离大于波段开关旋钮的半径时,计算机将Q个像素点去除。当光照比较强的时候,其在仪表图像表面行测的亮度值比较高的区域可能对指示标示区域造成干扰,因此通过与波段开关旋钮的半径进行比较可以将其去除,有效防止光照干扰造成指示标示定位准确性下降的弊端。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1