刻度拟合
刻度在仪表自动读数中并不作为计算依据(起始和终止刻度除外),最终读数仅仅依赖指针、表盘位置以及量程,因此在求仪表刻度线时可以允许少量误差,这些误差不会对最终结果造成影响。
对于刻度线的拟合,本质上还是对直线的拟合,因此常用的方法有最小二乘法和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) 计