摘要
微分算子在图像处理中的作用主要是用在图像的边缘检测,而图像边缘检测必须满足两个条件:一能有效的抑制噪声,二能必须尽量精确定位边缘位置。现在常用的微分算子主要有:Sobel算子,Robert算子,Prewitt算子,拉氏算子,Canny算子,下面通过这两个必须满足的条件对这几种算子的性能进行分析。
1.Sobel算子
该算子主要用于边缘检测,在以离散的差分算子,用来运算图像亮度函数的梯度的近似值。该算子的缺点是没有基于图像灰度进行处理,且没有严格的模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意,也就是不能精确对边缘进行确定。
2.Robert算子
该算子是利用局部差分算子寻找边缘的算子,根据任一相互垂直方向上的差分都用来估计梯度,该算子采用对角方向相邻像素值之差代替该梯度值。Robert算子从图像处理的实际效果来看,边缘定位较准,对噪声敏感,无法抑制噪声的影响,适用于边缘明显且噪声较少的图像分割。用该算子处理后的图像边缘不是很平滑,且边缘定位精度不是很高。
3.Prewitt算子
该算子是一种一阶微分算子的边缘检测,利用像素点上下左右相邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
该算子对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以该算子对边缘定位不如Robert算子。
4.拉氏算子
拉氏算子是一种各向同性算子,二阶微分算子,在只关心边缘位置而不考虑其周围像素灰度差值时比较合适,因此只适用于无噪声图像。
拉氏算子用来改善因扩散效应的模糊特别有效,但该算子对噪声具有无法接受的敏感性,同时会产生算边缘,且拉氏算子不能检测边缘的方向。
5.Canny算子
该算子是一个具有滤波,增强,检测的多阶段的优化算子,在进行处理前,该算子先利用高斯平滑滤波器来平滑图像以出去噪声,且采用一阶偏导的有限差分来计算梯度幅值和方向,Canny算子还将经过一个非极大值抑制的过程,最后还采用两个阈值来连接边缘。因而该算法相比其他几种算子,对图像进行边缘检测的效果最好。
仿真结果:
边缘检测结果比较:
Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。
Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像的边缘不止一个像素。
Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。但边缘较宽,而且间断点多。
Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断边缘像素视为与图像的明区还是暗区。
Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。