摘要:为了检测经过光学系统成像所得图像的边缘,在直线拟合方法的基础上提出了一种新的边缘检测方法。该方法综合考虑边缘过渡区间所有点的信息,利用直线拟合方法求出一组可能的边缘值,再选择它们的中值作为最终的边缘值。基于该方法的采集系统由线阵 CCD 采集边缘的灰度图像,使用单片机来处理数据,并计算出边缘的位置。实验结果表明,这种改进方法的重复性误差为 0.89 个像素,而且能够在 0.039s 内完成一次边缘检测计算。
引 言
阿贝折射仪是测量液体和透明固体折射率的最常用仪器。原有的阿贝折射仪采用手动调节,目视瞄准,测量速度慢,精度低, 如果采用线阵 CCD 取代目视瞄准和调整机构,将与物体折射率所对应的明暗分界线的位置信息成像在 CCD 的光敏面上,然后采集和检测 CCD 所获得的图像的边缘,就可以实现折射率的自动测量,而且测量的速度快,精度高。这种改进的阿贝折射仪的关键是对CCD采集到的图像边缘信号的检测,它是决定系统检测精度的主要因素。常用的图像边缘检测算法有模板匹配[1]和微分算子[2],由于光的色散、高频噪声和CCD光敏元处于临界状态,CCD采集到的图像的边缘质量有明显下降,经过实验验证这两种检测方法不适用。它们的缺点是用局部区域灰度变化最大值来定位边缘,而忽视了整个过渡边缘的别的点的信息。改进的方法是,对图像进行滤波后,把在可能边缘附近的所有点的信息都用来定位边缘,基于最小二乘原理的直线拟合边缘提取方法[3]就是考虑整个过渡边缘的图像信息,选取中间较直的部分作直线拟合,然后将边缘点的灰度值代入所得的直线方程从而得到边缘的像素位置值。实际应用中,发现计算得到的边缘值和过渡边缘的几何中心点非常接近,而且在进行直线拟合的时候,边缘定位的重复性没有拟合区间端点的重复性好。根据边缘数据的特点,本文在直线拟合方法的基础上构造了一种更加简单的边缘提取方法,首先使用直线拟合法获得一组可能的边缘值,然后选择这组边缘值的中值作为最终的边缘值。
1 检测系统
为了减小系统的体积,实现仪器化,系统采用单片机代替PC机作为核心控制和计算单元,检测系统框图如图1。光源采用发光二极管阵列,被测液体置于两个棱镜之间,上面的棱镜是入射光棱镜,下面的棱镜是折射棱镜。由于不同液体的折射率不同,光线经过折射形成的明暗区域的分界线位置不同。经过透镜和平面反射镜将明暗区域投射到CCD上,检测CCD采集到的图像的边缘,就可计算出分界线的位置,从而计算出对应的折射率。

2 直线拟合边缘检测算法
理想的边缘信号是一阶跃函数,灰度图如图2(a)所示。用平行光光源照射被测物体,在CCD光敏元上成像,CCD采集到的实际边缘信号是一个逐渐增大的渐变的信号,灰度图如图2(b)所示。可以选取中间较直的部分作直线拟合,然后将边缘点的灰度值代入所得的直线方程就可以得到边缘的像素位置值。

2.1 数据的预处理
通过 CCD 获得的原始数据通常带有高频噪声,因此对原始数据直接进行处理通常会影响算法的效率。由于中值滤波不依赖于领域内那些与典型值差别很大的值,因此它能够在去除高频噪声的同时保留图像边缘的细节。这里我们首先使用中值滤波对原始数据进行预处理,以消除噪声,为下一步的精确定位作好准备。
2.2 拟合窗口的选取
如图2(b)所示,图像边缘过渡区间从 a 点开始到 b 点结束,靠近 a、b 两点附近的灰度变化缓慢,曲线形状偏离直线较远,舍去;中间部分较直,是用于直线拟合的部分,我们可以通过设定灰度域值来确定参与拟合的边缘的范围。CCD 获得的图像信号要经过 A/D 转换器转换为数字信号然后进行进一步的处理,设用 8 位的 A/D 转换器,灰度的变化范围就是0-255,设定灰度的上限值为Gh,下限值为Gl,截取Gl和Gh之间的边缘信号进行直线拟合,其中

2.3 拟合直线方程

由式(6),(7)可以得到边缘拟合窗口的拟合直线方程 G(n) = k n+b 的两个参数 k,b。采用阈值比较法,设边缘位置为n3,对应的灰度值为 128,即有 128=kn3+b,从而可以求出
![]()
3 改进的直线拟合算法
在用直线拟合方法进行边缘检测的过程中,发现将边缘点灰度值代入由最小二乘拟合所得的直线方程,计算得到的边缘值和过渡边缘的几何中心点非常接近,而且在进行直线拟合的时候,边缘定位的重复性没有拟合区间n1-n2的重复性好,于是根据边缘数据的特点构造了一种简单的边缘提取方法。这种方法的基本思路是,在图像边缘较直的部分以灰度中心值 128 作为几何中心,在两侧找几组与灰度中心值 128 灰度差相等的对称点,然后以每组对称点来构造一个直线方程,由所得的直线方程计算边缘点(灰度为 128 的点)的位置,因为实测的图像有较好的对称性,根据几组点计算出的边缘点的位置不完全相同,但是相差不大,最后将所得的几个边缘值再取中值,得到边缘的位置。
算法实现步骤如下:
步骤1:如同直线拟合的方法,设定采用 8 位的 A/D 转换器,采集到的图像的灰度变化范围是 0-255,设灰度的上限值为Gh,下限值为Gl,步长 x 为0.05,初始比例系数m 为0.2,则

步骤3:将 m 按步长 x 增加,代入式(9)和(10)中,计算新的 Gl和Gh,类似步骤2 在以步骤2 所得的 n1和 n2为端点的边缘上找出对应新的Gl和Gh的n1和n2,代入式(11)中计算新的边缘点。
步骤 4:重复步骤3 三次,一共得到 5 个边缘点,将这 5 个值取中值得到的值作为检测到的边缘点。
4 实验数据
按照以上二种边缘提取算法,在单片机中编程实现CCD 图像的采集和边缘的提取,单片机采用AT89C52,选用24MHz晶振,针对某一特定的边缘测定8次,所得试验结果如表1所示,表中的测量数据表示像素位置。从表1 中可以看出,用改进的方法对特定边缘进行提取的重复性精度较改进前大大提高了,重复性误差(等于 2 倍标准差)为 0.89,限制在一个像素范围内。同时还记录了两种边缘检测方法的执行时间,直线拟合方法对经过滤波处理的数据完成一次边缘提取用的时间是 0.296s,而新的方法完成一次边缘提取的时间是 0.039s。可见,完成一次检测的时间也大大缩短了。

5 结 论
本文在基于最小二乘数据拟合的边缘检测算法的基础上,针对所采集图像边缘数据的特点,提出了一种新的简化的一维线阵CCD图像边缘检测方法。和普通的直线拟合边缘检测算法相比,改进的边缘提取算法利用两点定位直线,因此算法执行的速度快。同时最终的边缘值是对一组边缘数据取中值,从统计的意义上减少了测量误差,提高了系统的重复性精度。将该方法应用于数字式阿贝折射仪的研制,可以实现折射率的快速、准确和自动检测,另外还可以将这种方法应用到类似的经过光学系统成像的边缘检测问题中。
参考文献:
[1] LI Y S,YOUNG T Y,MAGERL J A. Subpixel edge detection and estimation with a microprocessor-controlled line scancamera[J]. IEEE Transactions on Industrial ElectroNIcs,1988,35(1):105-112.
[2] 姜凌涛,陈 笠. 应用 Marr 算子实现线阵 CCD 边缘高分辨率定位[J].光电工程,1996,23(1):23-28.JIANG Ling-tao,CHEN Li. Application of Marr Edge Detector Operator to Improving Accurary in Dimensional Measurementof Linear Array of CCD [J]. Opto-Electronic Engineering,1996,23(1):23-28.
[3] 俞巧云,邢晓正,胡红专,等. 直线拟合方法在一维图像边缘检测中的应用[J].光电工程,2001,28(6):56-58,65.YU Qiao-yun,XING Xiao-zheng,HU Hong-zhuan,et al. Application of Straight Line Fitting Method to the Edge Detection ofOne-Dimension Image[J]. Opto-Electronic Engineering,2001,28(6):56-58,65.
[4] 王庆有. CCD 应用技术[M]. 天津:天津大学出版社,2000.WANG Qing-you. CCD Application Technology [M]. Tianjin:Tianjin University Press,2000.
[5] 何立民. 单片机高级教程[M]. 北京:北京航空航天大学出版社,2000.HE Li-min. Single-chip Processor Advanced Tutorial [M]. Beijing:Beijing University of Aeronautics and AstronauticsPress,2000.
作者简介:刘奋飞(1976-),男(汉族),内蒙古鄂尔多斯人,硕士,主要从事于图像处理方面的研究. E-mail:ffliu@sjtu.edu.cn




