指针式仪表自动读数与识别(四):非圆形表盘定位

基于RSCD的非圆形表盘定位

非圆形表盘外观一般为方形,常见于电流表和电压表。这些仪表没有明显的圆形表盘,因此无法通过直接Hough圆检测来定位表盘圆。观察仪表特点,可以发现虽然表盘不是圆形,但是表盘上的刻度均在同一个圆弧上,所以可以通过刻度线所在圆弧来确定圆弧所在圆的圆心和半径。检测方法可以使用Hough变换和RSCD。
理论上,Hough变换可以检测任意形状的目标,所以也可以检测圆弧,但是由于圆弧特征不明显,没有足够多的特征点来确定圆心,故选择RSCD来进行圆弧检测。
基于RSCD检测圆弧的主要步骤如下:
(1) 预处理图像
对图像进行预处理操作,这些操作包括:缩放图像减小运算量、灰度化图像、中值滤波去除较验噪声、高斯滤波平滑图像等。
(2) 计算图像纵向梯度
由于圆弧特征不明显,易受其他线条的干扰,且考虑到仪表方向一般为向上,因此,通过计算图像的纵向梯度来减小或消除噪声影响,提高圆弧特征在图像中的权重。
(3) 二值化
对纵向梯度图像进行二值化操作。
(4) 轮廓提取
对二值化后的图像提取轮廓,这些轮廓数据将用于计算刻度圆弧所在圆。
(5) RSCD还原圆弧所在圆
由于RSCD是随机的从轮廓上选取三个点来作为一个可能圆,并通过一个密度区域来确定圆心,所以,圆弧的断裂、少许错位并不影响最终定位结果(在人眼误差范围内)。

下图是非圆形表盘定位的过程:

使用刻度进行定位

由于非圆形表盘的刻度仍然为圆形,所以,根据三点确定一个圆的原理,可以先找出刻度,再根据刻度必定在一个圆上来确定表盘。主要步骤如下:

1.定位刻度线

2.根据三点定圆,多次随机选取刻度轮廓上的三个

原文地址:https://www.cnblogs.com/cnsec/p/13286600.html