当前位置:首页 > 基于MATLAB的图像分割算法研究
梯度局部最大值对应的点,并认定它们是边缘点,如图4-3所示。在图4-3中,若用阈值来进行边缘检测,则在a和b之间的所以点都被记为边缘点。但通过去除一阶导数中的非局部最大值,可以检测出更精确的边缘。一阶导数的局部最大值对应着二阶导数的零交叉点(Zero crossing)。这样,通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。拉普拉斯(Laplacian)算子是常用的二阶导数算子。 f?x,y? x f'?x,y? 阈值 x f''?x,y? a b 图4-3 阈值边缘检测和二阶导数的零交叉边缘检测比较 x 平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数(见图4-2)。拉普拉斯算子是二阶导数的二维等效式,函数f?x,y?的拉普拉斯算子公式为: ?f?2?f?x22??f?y22 (4-7) 使用差分方程对x和y方向上的二阶偏导数近似如下: 25
基于MATLAB的图像分割算法研究
2?f?x2??Gx?x???f?i,j?1??f?i,j???x??f?i,j?1??x??f?i,j??x ?f?i,j?2??2f?i,j?1??f?i,j? (4-8)上式近似是以点?i,j?1?为中心的,以点?i,j?为中心的近似为: ?f?x22?f?i,j?1??2f?i,j??f?i,j?1? (4-9) 类似地有: ?f?y22?f?i?1,j??2f?i,j??f?i?1,j? (4-10) 将(4-9)和(4-10)两式合并为一个算子,用近似的拉普拉斯算子模板表示: ?0?2??1???01?410??1?0?? (4-11) 当拉普拉斯输出出现过零点时就表明有边缘存在,但是要去除无意义的零点(灰度值为0的区域)。 4.2.4LoG(Laplacian-Gauss)算子
前面介绍的梯度算子和拉普拉斯算子实质都是微分或查分算法,因此算法对噪声十分敏感。所以,在边缘检测前,必须滤除噪声。Mar和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(Laplacian-Gauss)算法。LoG边缘检测器的基本特征是:
(1) 平滑滤波器是高斯滤波器;
(2) 增强步骤采用二阶导数(二维拉普拉斯函数);
(3) 使用线性内插方法在子像素分辨率水平上估计边缘的位置。
这种方法的特点是图像首先与高斯滤波器进行卷积,这一步既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。由于平滑会导致边缘的延展,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用二阶导数的零交叉点来实现。拉普拉斯函数用作二维二阶的近似,是因为它是一种无方
26
向算子。为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点。 LoG算子对图像f?x,y?进行边缘检测,输出h?x,y?是通过卷积运算得到的,即: ??x2?y2?2? h?x,y????4?????2??e??x?y2?222??*f?x,y? (4-12) ?? 滤波(或平滑)、增强和检测3个边缘检测的步骤对LoG算子边缘检测依然成立。其中高斯滤波器对图像进行平滑,拉普拉斯算子将边缘点转换成零交叉点来实现,边缘检测通过零交叉点的检测实现。 前一节介绍过,图像的平滑会引起边缘的模糊。高斯平滑元素导致图像中边缘和其他尖锐不连续的部分模糊,其中模糊量取决于σ值。σ值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测器的性能。如果取小σ值,又有可能平滑不完全而留有太多的噪声。大σ值滤波器在平滑相互邻近的两个边缘时,可能会将它们连在一起,这样只能检测出一个边缘。因此,在不知道物体尺寸和位置的情况下,很难准确确定滤波器的σ值。一般来说,使用大σ值的滤波器产生鲁棒边缘,小σ值的滤波器产生精确定位的边缘,两者结合,能够检测出图像的最佳边缘。 LoG算子也可以用MATLAB中的edge函数来检测边缘: BW=edge(I,’log’,thresh,sigma) 式中thresh是边缘检测的阈值,sigma是高斯滤波器的σ值,默认为2。 下面用不同σ值的LoG算子检测图像的边缘。程序清单见附录,检测结果分别如图4-3(a)和4-3(b)所示。 (a) σ=2 (b)σ=3
27
基于MATLAB的图像分割算法研究 图4-4 不同σ值的LoG算子边缘检测效果图 比较上述两幅图像可以发现,σ值小,平滑程度轻,会出现零星的假边缘;σ值大,平滑程度重,但是大部分真实的边缘丢失,出现边缘间断现象。 4.2.5坎尼(Canny)算子 检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度数字逼近。由于实际的图像经过了摄像机光学系统和电路系统(带宽限制)固有的低通滤波器的平滑,因此,图像中的阶跃边缘不是十分陡立。图像也受到摄像机噪声和场景中不希望的细节的干扰。图像梯度逼近必须满足两个要求:①逼近必须能够抑制噪声效应:②必须尽量精确地确定边缘的位置。抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测算法通过图像平滑算子去除了噪声,但却增加了边缘定位的不确定性;反过来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性。有一种先行算子可以在抗噪声干扰和精确定位之间选择一个最佳折衷方案,它就是高斯函数的一阶导数,对应于图像的高斯函数平滑和梯度计算。 在高斯噪声中,一个典型的边缘代表一个阶跃的强度变化。根据这个模型,好的边缘检测算子应该有3个指标:①低失误概率,即真正的边缘点尽可能少的丢失又要尽可能避免将非边缘点检测为边缘:②高位置精度,检测的边缘应尽可能接近真实的边缘;③对每一个边缘点有惟一的响应,得到单像素宽度的边缘。坎尼算子提出了边缘算子的如下3个准则。 (1) 信噪比准则 信噪比越大,提取的边缘质量越高。信噪比SNR定义为: SNR???w?wG??x?h?x?dx???w?wh2?x?dx (4-13) 其中G(x)代表边缘函数,h(x)代表宽度为W的滤波器的脉冲响应。 (2) 定位精确度准则 边缘定位精度L如下定义: 28
共分享92篇相关文档