一种基于机器视觉的指针式仪表定位与识别方法与流程

文档序号:16136678发布日期:2018-12-01 01:04阅读:290来源:国知局
本发明属于数字图像处理
技术领域
,具体涉及一种基于机器视觉的指针式仪表定位与识别方法。
背景技术
指针式仪表广泛应用于生产生活的各个方面,其结构简单、使用方便。国内对指针式仪表示数的读取主要采用人工的方法,这种方法受人的主观因素如观测角度、观测距离、人眼疲劳等影响,不稳定、可靠性不高。而且数据处理工作量大,识别效率低;另外也可能因为眼睛跟不上指针转动速度而造成错误。基于机器视觉的指针式仪表自动识别技术主要包括对仪表盘的定位技术和对指针示数的识别技术。目前对指针式仪表盘的定位技术主要有:1)减影法:correaalegria等提出将指针处在不同角度的图片相减,背景、仪表盘、刻度等非变化因素都不会发生移动和改变,所以相减结果为0;两个指针相减则不会为0。相减可将所有背景全部消除,只留下了两个指针在同一幅图像中的不同位置,再经过一些几何变换,就得到了指针表盘的位置(f.correaalegria,a.cruzzserra.automaticcalibrationofanaloganddigitalmeasuringinstrumentsusingcomputervision[j].ieeetransactionsoninstrumentation&measurement,2000,49(1):94-99.)。再此方法的基础上,李治玮等提出了最大灰度相减法:首先采集指针仪表的零刻度图像,然后在同等条件下采集一个指针仪表的非零刻度图像,接着对两图像运用灰度比较法得到一副无指针的表盘指针图像,并将此图像作为参考图像;定位时,将实测图像与参考图像运用减影法得到一副无表盘指针图像,再经过一些几何变换,得到指针表盘的位置(李治玮,郭戈.一种新型指针仪表识别方法研究[j].微计算机信息,2007,23(31):113-114.)。该方法对图像灰度图的质量要求高,所以定位准确性受光照条件影响较大。2)hough变换法:hough变换法的核心思想是利用霍夫直线检测算法获取整个图像中的所有直线,然后通过筛选获得需要的直线。目前该方法的衍生方法很多,比较著名的有杨耀权等提出的双阈值改进法(杨耀权,赵艳琴,何晓燕,等.基于计算机视觉技术的指针式仪表自动检定方法[j].仪器仪表学报,2001,22(s2):233-234.),施健等提出的结合减影法的hough变换法(施健,张冬,何建国,等.一种指针式化工仪表的远程抄表设计方法[j].自动化仪表,2014,35(5):77-79.),han等提出的在图像预处理中结合自适应中值滤波和自适应二值化的优化方案(hanj,lie,taob,etal.readingrecognitionmethodofanalogmeasuringinstrumentsbasedonimprovedhoughtransform[c].internationalconferenceonelectronicmeasurement&instruments.ieee,2011:337-340.)。hough变换法在区别图像中其他的直线以对噪声的适应能力方面对图像预处理的要求比较高,然后复杂的预处理过程也意味着较复杂的计算量。3)最小二乘法:刘曙光等提出将原图像进行小波变换,提取指针和刻度的一系列边缘点,用最小二乘法进行拟合,从而得到一条距离所有边缘点距离最小的直线的方程,即为指针和表盘的位置所在(刘曙光,郑自修,王预军.智能光指针显示仪表[j].自动化与仪表,1997(6):3-5.)。该方法的问题在于:不能在没有得到足够的指针的边缘点的情况下进行直线的拟合,所以受到算法和图像质量的限制较为严重,此外,由于使用了大计算量的最小二乘法拟合,所以需要较长的时间。4)中心投影法:何智杰等提出的将指针区域向圆心处投影,通过筛选出投影强度连续而幅值较大的部分为指针表盘区域(何智杰,张彬,金连文.高精度指针仪表自动读数识别方法[j].计算机辅助工程,2006,15(3):9-12.)。这种方法的优点是识别的速度较快,由于图像中存在的噪点和小的干扰因素在投影中不能形成连续的投影区域,因此图像对预处理的要求比较低,大大提高了识别和定位的速度。但是此方法筛选得到的轮廓不明显,不能够将仪表盘进行完整准确的提取,精度有待提高。本发明采用的定位方法是抽取由rgb空间转换获得的hsl空间图像的l分量,得到一张仅含有图片亮度分布的亮度图。以该亮度图为基础,根据指针仪表盘框的亮度分布范围设定阈值,将处于该阈值内外的区域进行颜色的二值化操作。这样就得到了明确而对比强烈的指针表盘亮度覆盖区域,将所获得的二值化图像进行形态学滤波,之后基于表盘特征对目标轮廓进行筛选,将该轮廓从原始图像中抠取下来,即为表盘的位置。该方法在一定程度上优化了图像预处理的过程,使图像中的目标仪表部分更容易提取,从而提高了定位的准确度,受环境等噪声因素的影响减小,并且对预处理要求也不高。目前对指针示数的识别技术主要有角度法和距离法两种。1)角度法:房桦等人提出的智能变电站巡检机器人巡检方案中,首先采用hough变换法得到指针的直线,然后获得相对于零刻度的该直线的偏移角度,从而得到仪表的示数(房桦,明志强,周云峰,等.一种适用于变电站巡检机器人的仪表识别算法[j].自动化与仪表,2013,28(5):10-14.)。孙凤杰等提出的结合角度识别和同心圆环的角度计算方法,在获取指针所在的区域及圆心以后,按照指针直线到该圆环的距离搜索交点,而后通过计算交点连成的线段的斜率,得到精确的指针相对于零刻度的倾斜角度(孙凤杰,郭凤顺,范杰清,等.基于图像处理技术的表盘指针角度识别研究[j].中国电机工程学报,2005,25(16):73-78.)。2)距离法:距离法实现的前提是需要识别出所有的仪表的刻度值,通过对刻度线段之间距离的计算和总的刻度线数量的计数,结合已获取的指针直线到相邻两个刻度的距离和零刻度的距离,按照两者的比值得到指针的示数(王瑞,李琦,方彦军.一种基于改进角度法的指针式仪表图像自动读数方法[j].电测与仪表,2013,50(11):115-118.)。然而在实际情况中,很难得到完整的表盘信息,包括所有的刻度信息都是难以完整获取的,所以该方法对图像的清晰度和强对比度的要求很高。本发明采用在现有的角度法基础上进行改进,将图像预处理后采用改进后的累计概率霍夫变换法(ppht)筛选出目标指针所在直线,得到指针的起点和终点坐标,由斜率计算得到指针倾角,与现有方法相比可以直接获得直线倾角,避免图像识别过程中的干扰因素的影响,所以识别结果准确可靠,操作方便。技术实现要素:目的:为解决现有技术的不足,提供一种基于机器视觉的指针式仪表定位与识别方法。技术方案:为解决上述技术问题,本发明采用的技术方案为:一种基于机器视觉的指针式仪表定位与识别方法,其特征在于,包括如下步骤:步骤(1)获取仪表柜图像;步骤(2)将仪表柜图像进行分割处理,得出仪表盘图像;步骤(3)对获取的仪表盘图像进行预处理;步骤(4)使用canny边缘检测法获得仪表盘图像中所有的边缘轮廓;步骤(5)用hough变换在步骤(4)中获得的边缘轮廓中找到所有直线轮廓,然后通过轮廓的长度特征筛选出仪表盘中指针所在的两条边缘直线,即目标直线;步骤(6)计算目标直线的倾斜角的平均值,即指针所在直线的倾斜角θ;步骤(7)由直线倾角和仪表刻度之间的线性关系计算出指针读数。步骤(1)中,采用数码相机或摄像头获取仪表柜的图像。进一步的,步骤(2)中,对指针式仪表盘进行定位的方法是将仪表柜图像由rgb(红、绿、蓝)颜色空间转换到hsl(色调、饱和度、亮度)空间,然后利用图像的亮度信息l进行分割,得到仪表盘边缘轮廓,进而得到仪表盘图像。步骤(2)具体如下:a.对仪表柜图像进行rgb到hsl的转换,具体变换公式如下:其中,m=max(r,g,b),m=min(r,g,b);b.对仪表柜的亮度图进行二值化操作;抽取hsl空间图像的l分量,得到仪表柜的亮度图;根据仪表盘框的亮度分布范围设定阈值,将处于该阈值上下的亮度图进行二值化操作,得到明确且对比强烈的指针表盘覆盖区域;c.对仪表柜的二值化图像进行形态学滤波;由于图像存在噪声点,或照片本身的像素质量不高等原因,二值化图像中的背景和特征区域中均存在相当数量的噪声点,为增强表盘黑框与白色背景的对比度,减少干扰,对图像进行形态学滤波,具体操作为:先对图像进行闭操作,将黑框中分离的白色像素块连为一体,并消除了大部分的黑色凹点;再进行开操作,将背景区域汇总的白色凸点最大限度地消除,并将其余可能形成较大轮廓的白色干扰区域进行割裂;d.根据仪表盘轮廓特点获取其外部轮廓;仪表盘的轮廓特点:仪表盘外部轮廓趋近于矩形,且仪表盘轮廓面积明显大于其他无用轮廓;用canny边缘检测法检测所有轮廓,根据仪表盘外部轮廓特点获取仪表盘的外部轮廓;e.截取仪表盘外部轮廓的内部图像,即为目标仪表盘的图像。进一步的,步骤(3)中,对仪表盘图像的预处理过程依次为灰度化、高斯滤波、laplace算子图像增强、二值化处理,从而得到特征、轮廓清晰的图像。步骤(5)具体步骤如下:建立一个二维累加数组a(a,b),第一维的范围是图像坐标空间中直线斜率的可能范围,第二维的范围是图像坐标空间中直线截矩的可能范围;开始时a(a,b)初始化为0,然后对图像坐标空间的每一个前景点(xi,yi),将参数空间中每一个a的离散值代入式子b=-xia+yi从而计算出对应的b值;每计算出一对(a,b),都将对应的数组元素a(a,b)加1,即a(a,b)=a(a,b)+1;所有的计算结束之后,在参数计算表决结果中找到a(a,b)的最大峰值,所对应的a0,b0就是源图像中共线点数目最多的直线方程的参数;接下来继续寻找次峰值、第3峰值、第4峰值...第n峰值,它们对应于原图中共线点略少一些的直线;之后对检测到的直线进行长度比较,循环比较后得到长度最长的直线轮廓,即为仪表指针所在直线。进一步的,步骤(6)具体是指,目标直线的轮廓线近似为两条线段,根据两条线段各自的起点坐标(x00,y00),(x01,y01)及终点坐标(x10,y10),(x11y11),由下列公式θ=arctank计算可得直线倾角θ。进一步的,步骤(7)中,由于仪表的读数n直接依赖于指针的倾斜角θ和仪表的量程a,假设表盘中指针的倾斜角在0~90°之间,则计算方法如下:有益效果:本发明提供的基于机器视觉的指针式仪表定位与识别方法,具有以下优点:1.本发明将图像处理技术运用到指针式仪表的检测领域,能够方便快捷地得到仪表的正确读数,相比肉眼读数省时省力,精确度也大为提高,可以实现对仪表运行状态的实时检测;2.本发明将待处理图像转换到hsl空间,利用图像的亮度信息进行图像分割,从而能够准确定位仪表盘在仪表柜图像中的位置,具有较强的适应性和鲁棒性;3.本发明通过计算仪表指针的倾角得到仪表指针的正确读数,避免了直接对仪表刻度盘进行识别而带来的检测误差,而且适用于任何形状的指针式仪表,提高了仪表读数的适用范围,也在一定程度上提高了读数的可靠性。本发明采用的定位方法是抽取由rgb空间转换获得的hsl空间图像的l分量,得到一张仅含有图片亮度分布的亮度图。以该亮度图为基础,根据指针仪表盘框的亮度分布范围设定阈值,将处于该阈值内外的区域进行颜色的二值化操作。这样就得到了明确而对比强烈的指针表盘亮度覆盖区域,将所获得的二值化图像进行形态学滤波,之后基于表盘特征对目标轮廓进行筛选,将该轮廓从原始图像中抠取下来,即为表盘的位置。该方法在一定程度上优化了图像预处理的过程,使图像中的目标仪表部分更容易提取,从而提高了定位的准确度,受环境等噪声因素的影响减小,并且对预处理要求也不高。本发明采用在现有的角度法基础上进行改进,将图像预处理后采用改进后的累计概率霍夫变换法(ppht)筛选出目标指针所在直线,得到指针的起点和终点坐标,由斜率计算得到指针倾角,与现有方法相比可以直接获得直线倾角,避免图像识别过程中的干扰因素的影响,所以识别结果准确可靠,操作方便。附图说明图1是本发明方法的流程图。具体实施方式下面结合实例对本发明做具体说明:如图1所示,本发明的基于机器视觉的指针式仪表定位与识别方法,包括以下步骤:(1)获取仪表柜图像(注:仪表盘位于仪表柜的表面):用数码相机或摄像头获取仪表柜的图像。(2)将仪表柜图像进行分割处理,得到仪表盘图像,具体如下:a.对仪表柜图像进行rgb到hsl的转换,具体变换公式如下:其中,m=max(r,g,b),m=min(r,g,b)。b.对仪表柜的亮度图进行二值化操作。抽取hsl空间图像的l分量,得到仪表柜的亮度图。根据仪表盘框的亮度分布范围设定阈值,将处于该阈值上下的亮度图进行二值化操作,得到明确且对比强烈的指针表盘覆盖区域。c.对仪表柜的二值化图像进行形态学滤波。由于图像存在噪声点,或照片本身的像素质量不高等原因,二值化图像中的背景和特征区域中均存在相当数量的噪声点,为增强表盘黑框与白色背景的对比度,减少干扰,对图像进行形态学滤波,具体操作为:先对图像进行闭操作,将黑框中分离的白色像素块连为一体,并消除了大部分的黑色凹点;再进行开操作,将背景区域汇总的白色凸点最大限度地消除,并将其余可能形成较大轮廓的白色干扰区域进行割裂。d.根据仪表盘轮廓特点获取其外部轮廓。仪表盘的轮廓特点:仪表盘外部轮廓趋近于矩形,且仪表盘轮廓面积明显大于其他无用轮廓。用canny边缘检测法检测所有轮廓,根据仪表盘外部轮廓特点获取仪表盘的外部轮廓。e.截取仪表盘外部轮廓的内部图像,即为目标仪表盘的图像。(3)对仪表盘图像进行预处理:对仪表盘图像依次进行灰度化、高斯滤波、laplace算子图像增强、二值化处理。为了平滑图像,使用高斯滤波器与图像进行卷积,以减少边缘检测器上明显的噪声影响。大小为(2k+1)x(2k+1)的高斯滤波器核的生成方程式由下式给出:取sigma=1.4,尺寸为3x3的高斯卷积核:则经过高斯滤波之后,像素点e的亮度值为:拉普拉斯算子采用二阶微分线性算子,与一阶微分相比,二阶微分的边缘定位能力更强,锐化效果更好。拉普拉斯算子定义为:即:即一个点的拉普拉斯的算子计算结果是上下左右的灰度和减去本身灰度的四倍。这是四邻接的拉普拉斯算子,将这个算子旋转45°后与原算子相加,变成八邻域的算子,即将一个像素周围一圈8个像素和与中间像素8倍的差作为拉普拉斯计算结果。因为要强调图像中突变(细节),所以平滑灰度的区域无响应,即模板系数和为0,同为二阶微分必备条件。这里采用的3*3的高斯滤波模板,模板形式如下:0101-41010(4)使用canny边缘检测法获得仪表盘图像中所有的边缘轮廓。canny检测是通过计算梯度幅值来确定的。这里使用sobel算子来计算梯度:式中,sx,sy分别为sobel算子的两个卷积因子,g和θ分别表示梯度幅值和梯度方向。寻找像素点局部最大值,将非极大值点所对应的灰度值置为0,剔除掉一大部分非边缘的点。然后用双阈值法减少假边缘数量:如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制。对应关系如下所示:ifgp≥highthresholdgpisanstrongedgeelseifgp≥lowthresholdgpisanweakedgeelsegpshouldbesuppressed(5)用hough变换在第(4)步中获得的边缘轮廓中找到直线轮廓,然后通过轮廓的长度特征筛选出目标直线,即仪表盘中指针所在直线;追踪图像中每个点对应曲线间的交点。如果交于一点的曲线的数量超过了阈值,则这个交点所代表的参数对在原图像中为一条直线,找出的直线中只有少数几条是指针两侧的轮廓线,需要通过直线长度和倾斜角的筛选来找到目标直线。具体步骤如下:建立一个二维累加数组a(a,b),第一维的范围是图像坐标空间中直线斜率的可能范围,第二维的范围是图像坐标空间中直线截矩的可能范围。开始时a(a,b)初始化为0,然后对图像坐标空间的每一个前景点(xi,yi),将参数空间中每一个a的离散值代入式子b=-xia+yi从而计算出对应的b值。每计算出一对(a,b),都将对应的数组元素a(a,b)加1,即a(a,b)=a(a,b)+1。所有的计算结束之后,在参数计算表决结果中找到a(a,b)的最大峰值,所对应的a0,b0就是源图像中共线点数目最多(共a(a,b)个共线点)的直线方程的参数;接下来继续寻找次峰值和第3峰值和第4峰值等等,它们对应于原图中共线点略少一些的直线。之后对检测到的直线进行长度比较,循环比较后得到长度最长的直线轮廓。即为仪表指针所在直线。(6)计算目标直线的倾斜角的平均值,即指针所在直线的倾斜角θ。目标直线的轮廓线可近似为两条线段,根据两条线段各自的起点坐标(x00,y00),(x01,y01)及终点坐标(x10,y10),(x11,y11),由下列公式θ=arctank计算可得直线倾角θ。(7)由直线倾角和仪表刻度之间的线性关系计算出指针读数,即为指针式仪表识别结果。由于仪表的读数n直接依赖于指针的倾斜角θ和仪表的量程a,假设表盘中指针的倾斜角在0~90°之间,则计算方法如下:以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1