摘要:本文提出了一种汽车仪表指针识别的新方法,详细阐述了这一方法的工作过程,给出了试验结果,试验证明,该方法简便可靠,精度高。
0 引言
指针式仪表由于具有结构简单、维护方便、不受电磁场干扰、可靠性高等优点,广泛应用于汽车等行业,本文提出了一种综合利用图像处理技术对指针式仪表进行指针提取和识别的方法。
1 基于Hough变换和减影法的仪表指针识别方法
本方法首先得到同等条件下两幅不同示值的图像,一幅为仪表的零刻度图像,另一幅为任意刻度的图像,采用减影法处理后,保留位置不同的两个指针图像,之后采用Hough方法检测二指针所在方程,确定指针直线的夹角,从而计算出仪表的读数。
1.1图像预处理
为了保证读数的精确度,需要对图像进行预处理,主要包括图像二值化、图像中值滤波。
在进行仪表指针识别之前,先对图像进行二值化处理,使图像变成黑、白两色,这样更加容易提取图像的指针。二值化的具体做法是将图像中小于某一灰度的像素值设置为0,大于此灰度值的像素值设置为1,而这个灰度值就是m值。对图像进行二值化主要考虑的问题就是A值的选取,阑值设的过高,将漏掉小幅度变化的边缘;I值设的过低,将出现由噪声引起的许多虚假的图像边缘。
由于噪声源对图像采集产生干扰,并在图像上形成独立毛刺,且其灰度不同于相邻像素点,影响后面仪表的指针读数。应进行中值滤波处理,去除毛刺。
预处理后的图像中,仪表盘的背景为白色,仪表刻度和指针为黑色。
1.2仪表指针识别
1. 2. 1 Hough变换
Hough变换的基本思想,就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题。
在平面直角坐标系(x-y)中,一条直线可以用方程Y=kx+b表示。对于直线上一个确定的点(x0,Y0 ),有Y0 = kx0 + b这表示参数平面(k-b)中的一条直线。
因此,图像中的一个点对应参数平面中的一条直线,图像中的一条直线对应参数平面中的一个点。对图像上所有的点作霍夫变换,最终所要检测的直线对应的一定是参数平面中直线相交最多的那个点。这样就在图像中检测出了直线,即可确定出斜率k和截距b的值。
1.2.2减影法
采用减影法实现指针位置及回转中心的确定。同等条件下两幅不同示值的图像相减,由于背景是静止的,只有指针是变化的,因此在理想情况下,两幅图像减影处理后,表盘图像只保留了两个不同位置的指针。
1.2.3指针识别
对二值化处理后的不同示值的图像进行减影处理,运用Hough变换确定不同位置指针直线的斜率ko如图所示,Y=K1x +b1表示零刻度时指针所在的直线,Y=k2x +b2表示满量程时指针所在的直线,Y=k3x+b,表示任意刻度指针所在的直线。图中表示满量程指针与零刻度线指针的夹角,表示任意刻度指针与零刻度线指针的夹角,交点A ( x0 , y0)为指针的回转中心。
按上述方法即可以计算出仪表的读数。
2 试验结果
为了验证本方法的准确性以及实用性,利用M公司的PCI-1409图像采集卡和CCD摄像头对捷达轿车04款表盘中的发动机转速表进行识别,该转速表量程为7×1000 r/min。共进行了5次识别。结果如表所示:
3 结论
本文对仪表指针的识别方法进行阐述,并对减影法、Hough变换等的图像处理技术进行总结,该方法的读取精度较高,实用性能很好。与其他仪表指针的识别方法相比,这种方法实用价值很高。