各种图像边缘检测算法的比较
姓名:高强 学号:17011210057
转载自:blog.csdn.net/jialeheyeshu/article/details/49518407,有删改
【嵌牛导读】:本文主要介绍图像边缘检测算法的效果比较
【嵌牛鼻子】:边缘检测,比较,特点
【嵌牛提问】:图像的边缘检测算法在图像处理中是基础算法,各种边缘检测的特点分别是什么?
【嵌牛正文】:
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个重要研究领域。
下面用以下MATLAB代码运行的结果,进行对比分析:
%各种边缘检测算法的比较
I=imread('lv.jpg');
I=rgb2gray(I);
I0=edge(I,'sobel');
I1=edge(I,'roberts');
I2=edge(I,'prewitt');
I3=edge(I,'log');
I4=edge(I,'canny');
I5=edge(I,'zerocross');
figure;
imshow(I0);
figure;
imshow(I1);
figure;
imshow(I2);
figure;
imshow(I3);
figure;
imshow(I4);
figure;
imshow(I5);
1. Robert
边缘定位精度较高,对于陡峭边缘且噪声低的图像效果较好,但没有进行平滑处理,没有抑制噪声的能力。
2. sobel和prewitt
进行了平滑处理,对噪声具有一定抑制能力,但容易出现多像素宽度。
3. Laplacian
对噪声较为敏感,使噪声能力成分得到加强,容易丢失部分边缘方向信息,造成一些不连续的检测边缘,同时抗噪声能力较差。
4. log
抗噪声能力较强,但会造成一些尖锐的边缘无法检测到。
5. canny
最优化思想的边缘检测算子,同时采用高斯函数对图像进行平滑处理,但会造成将高频边缘平滑掉,造成边缘丢失,采用双阈值算法检测和连接边缘。