3.1质心检测算法系统采用质心法进行数据处理能提高测试精度。因为质心法能使CCD上的图像分辨率达到光敏元尺寸的1/10,那么成像亮线中心在CCD上所对应的光敏源序号就可以是小数,而非一定是整数,这样通过计算可知,精度提高了0.1个百分点。虽然测量系统的精度有提高,但0.11%的相对误差仍不能令人满意,从误差公式可知,系统误差的改善主要取决于CCD的像元尺寸。随着CCD技术的不断发,像元尺寸也会不断改善,系统误差也将会有大幅度减小。质心法图像预处理算法步骤如下[5]:(1)对图像通过灰度化和反色后阈值选择得到光斑特征区域;(2)模糊去噪(meanblur),消除热噪声以及像素不均匀产生的噪声;(3)再次进行阈值选择,得到更清晰的光斑区域;(4)形态学处理,选择disk中和合适的领域模板,对图像进行腐蚀和填充处理,以得到连通域的规则形状图形;(5)边缘检测得到图像边缘,反复实验证明canny边缘检测算法最好;(6)对边缘再进行形态学strel-imerode-imclose-imfill相关运算得到更连通的边缘曲线,调用regionprops(L,properties)函数,根据质心法计算质心。下面介绍几种常用的质心算法(1)普通质心算法(,)ijijijccijijxIxyI(3-1)其中ijI为二维图像上每个像素点所接收到的光强,该算法适用于没有背景噪声,背景噪声一致或信噪比较高的情况。(2)强加权质心算法0000000000000000,/2,/2,/2,/2,/2,/2,/2,/2ywyxwxiijjywyixwxcywyxwxijjywyixwxxIwxIw0000000000000000,,22,,22,,22,,22yxxWyWjijxyixWjyWcyxxWyWijxyixWjyWyIwyIw(3-2)该算法中的加权函数包含3种形式,即aWI,WIP,WIP其中ap和均为强度值。其原理是将光斑中心较近的部分区域像素值增强,使得对光斑影响较大点的影响力进一步加大,提高质心探测精度,即使光斑形状不近似高斯分布,该方法依然能较准确的探测光斑质心。(3)阈值质心算法先对图像进行阈值分割,再使用COG算法,此时的质心探测误差要小于只用COG算法时的质心探测误差。该算法关键在阈值的选取。选取阈值的方法有很多。常用的有固定值阈值,经验阈值和直方图阈值。目前应用较广泛的是自适应阈值。自适应阈值具有阈值随图像的变化而变化以达到最好效果的优点。自适应阈值中最常用的是小波自适应阈值。该方法可以很好的去除高斯白噪声。但传统的小波变换在信号降噪中计算不足,所以可以将小波降噪算法进行改进。(4)距离质心算法iijijijcijijijxIWxIWijijijijcijijijyIWyIW2211()()ijicjcWsxxyy(3-3)其中(,)ijxy为当前被测像素的坐标,(,)ccxy为光斑的中心坐标,(,)ccxy为计算出的光斑质心坐标,ijI为当前像素的像素值。由于距离光斑中心越远的像素对质心判断的影响越小,所以取距离的倒数作为加权函数,这样可以减弱远离光斑的噪声,减少噪声对质心探测的干扰,提高质心的探测精度。当光斑不近似高斯分布时,该算法依然有较高的精确度,能有效的将光斑与背景分离。从而消除噪声干扰。但该算法必须在能准确求出光斑中心坐标的前提下才具有高精度探测质心的能力[6]。图像质心即图像灰度的重心,设图像有i,j两个方向,m,n分别为i,j方向像素的数量,(,)gij为像素点(,)ij处的灰度值,则图像质心位置坐标表达1111(,)(,)nmjinmjigijixgij1111(,)(,)nmjinmjigijjygij(3-4)传统质心算法为了便于讨论,星图采用如图3-1所示的坐标系XOY。图中的实线方格代表图像传感器的像元,一个像元的宽度对应x轴一个坐标单位,一个像元的高度对应y轴一个坐标单位,第i行j列像元的坐标记为(,)ijxy,则,ijxiyj,其中,i=0,1,2……,j=0,1,2……。传统质心算法是在工程中经常采用的星点定位方法。它首先对星点的灰度值求面积的矩,然后在该区域内做面积平均。若第i行j列像元的坐标为(,)ijxy,灰度值为(,)ijGxy,则星点的质心可表示为22112211(,)ˆ(,)ijiijiijjijijiijjxGxyxGxy(3-5)传统质心算法定位精度的分析下面以x方向为例分析传统质心算法的定位精度,令21(,)jiijjjGGxy,因星点像元的灰度值不可避免地存在噪声,即iiiGSN(3-6)其中:Si为信号的灰度值;Ni噪声的灰度值。将(3-6)式代入(3-5)式,并可化简得2121()ˆ()iiiiiiiiiiixSNxSN221122111()iiiiiiiiiiiiiiiiiixSNSSN2121()iiiiiiiiiixNSN=12(1)x(3-7)其中:2121iiiiiiiiixSxS,21211()iiiiiiiiiNSN,21212()iiiiiiiiiixNSN由公式(3-7)可以看出,噪声使得传统质心算法的定位精度下降,即引入了一个乘性噪声1和一个加性噪声2.3.2中值滤波对受到噪声污染的退化图像的复原可以采用线性滤波方法来处理,有许多情况下是很有效的。但是多数线性滤波具有低通滤波特性,在去除噪声的同时也使图像的边缘变得模糊了。中值滤波方法在某些条件下,可以做到既去除噪声又保护的图像边缘的较满意的复原。中值滤波的实现需要首先选一个含有奇数点的窗口W,将这个窗口在图像上扫描,把该窗口中所含的像素点按升或降的顺序排列,取位于中间的灰度值,用来代替该点的灰度值。即(,){(,),(,)}gmnMedianfmknlklW(3-8)表3-15点窗口m-2m-1mm+1m+2常用的窗口有方形、十字形、圆形和环形等。中值滤波是一种非线性运算。它对于消除孤立点和线段的干扰十分有用。特别是对二进噪声尤为有效,对于消除高斯噪声的影响效果不佳。以上讨论的中值滤波,窗口内各点对输出的作用是相同的。如果希望强调中间点或距中间点最近的几个点的作用,可以采用加权中值滤波。加权中值滤波的基本原理是改变窗口中变量的个数,可以使一个以上的变量等同于同一点的值,然后对扩张后的数字几种求值。窗口为3的一维加权中值滤波为例,表示如下:11_(,,)iiiiyWeightedMedxxx(3-9)以上,中值滤波对图像的细节处理很不理想,但是对所谓的椒盐噪声的滤除效果非常有效。