指针式仪表自动读数与识别(五):刻度线定位与拟合

老吴2019-04-06 15:31图像1872浏览


版权声明:本篇文章为原创文章,转载请注明出处。https://yao2san.com/article/2042

刻度拟合

刻度在仪表自动读数中并不作为计算依据(起始和终止刻度除外),最终读数仅仅依赖指针、表盘位置以及量程,因此在求仪表刻度线时可以允许少量误差,这些误差不会对最终结果造成影响。

对于刻度线的拟合,本质上还是对直线的拟合,因此常用的方法有最小二乘法和Hough变换拟合。我们通过多次轮廓筛选,然后计算轮廓外接矩形的中心,作为刻度点,刻度点与表盘圆心的连线作为刻度线。

根据刻度线的特点,轮廓筛选包括对轮廓的形状、大小以及位置和角度进行筛选,满足以下条件的轮廓将被保留,否则被剔除:
1.轮廓点个数n(或面积)在设定的范围内
通过判断轮廓点的个数(或面积),可以初步过滤掉大面积的非刻度区域。
2.轮廓点的最小外接矩形宽w、高h的比在设定的范围内
根据刻度线的特点,刻度线的宽高比M一般在1:2-1:5之间,根据宽高比可以过滤掉相同面积的非刻度轮廓。
3.轮廓的位置在表盘圆周附近
通过圆检测定位到表盘后,判断轮廓中心(x_0,y_0)与表盘圆O(a,b,r)圆心的距离d,可以过滤掉面积以及宽高比相近的轮廓。
4.轮廓最小外接矩形的方向指向圆心
根据刻度线的特点,刻度线总是指向表盘圆心,因此,根据其最小外接矩形的倾斜角度α,判断是否是指向表盘圆心,达到最终的过滤目的。

以下是过滤后的结果:

刻度补全

通过上图可以看出,直接过滤后的刻度是不完整的,所以需要对刻度进行补全,思路是:对每相邻两个刻度与圆心所成夹角进行投票,在误差范围内,得票最高者即为实际相邻刻度间的夹角,然后进行刻度线的拟合和重绘。具体步骤如下:
(1) 计算刻度轮廓的最小包围矩形;
(2) 计算最小外接矩形的中心;
(3) 计算相邻矩形中心点与圆心所成的夹角;
(4) 对夹角进行累加投票,选取票数最高的为最小刻度间的角度;
(5) 重绘刻度线
对上图刻度线角度进行投票的结果如图,刻度拟合和重绘结果如下图:

(左:度数分布图 中:全刻度拟合,右:主刻度拟合)

主刻度提取

上边进行了全刻度拟合,全刻度拟合的结果已经与实际刻度比较接近了,在这里在提供一种主刻度拟合的方法,具体的思路和全刻度拟合一样,只不过,在进行轮廓检测时,使用的是用Laplace算子进行处理后的图像,可以过滤掉小的刻度线,只留下主刻度线。上图中的最右边的图像就是主刻度线拟合后的结果。

赞一个! (7)

文章评论(如需发表图片,请转至留言)