不同尺度下LOG和CANNY边缘提取算子性能分析电子23李晓焕21209060141.实验与结果分析在实验中使用了MATLAB5.3软件对三副图像进行了边缘检测(注:一开始使用的MATLABR2010b软件在使用edge函数时出现闪退问题无法解决),分别是棋盘格(Tessella.bmp)、Lena(Lena.bmp)和自己选择的一幅自然场景图像(使用Photoshop软件将其转换成8bit灰度,256×256大小的Bmp格式图像)Nature(Nature.bmp)。实验中选择的参数如下:对图像施加的高斯白噪声水平分别为σ=0.0001和σ=0.0005;选择的LOG边缘提取算子的参数分别为阈值=0.25,σ=0.6和阈值=0.001,σ=3.0;选择的Canny边缘提取算子的参数分别为阈值=[0.02,0.25],σ=0.6和阈值=[0.001,0.25],σ=3.0。MATLAB程序代码示例如下:i=imread('d:\Tessella.bmp');j=imnoise(i,'gaussian',0,0.0001);k1=edge(j,'log',0.25,0.6);k2=edge(j,'canny',[0.02,0.25],0.6);subplot(1,2,1);imshow(k1);title('log,th=0.25,sigma=0.6')subplot(1,2,2);imshow(k2);title('canny,th=[0.02,0.25],sigma=0.6')1.1对lena以及chess图像的边缘检测结果(1)噪声水平为σ=0.0001图1-1-1原灰度图图1-1-2加噪声图图1-1-3log,th=0.25,sigma=0.6图1-1-4canny,th=[0.02,0.25],sigma=0.6图1-1-5log,th=0.001,sigma=3.0图1-1-6canny,th=[0.001,0.25],sigma=3.0图1-2-1原灰度图图1-2-2加噪声图图1-2-3log,th=0.25,sigma=0.6图1-2-4canny,th=[0.02,0.25],sigma=0.6图1-2-5log,th=0.001,sigma=3.0图1-2-6canny,th=[0.001,0.25],sigma=3.0(2)噪声水平为σ=0.0005图2-1-1原灰度图图2-1-2加噪声图图2-1-3log,th=0.25,sigma=0.6图2-1-4canny,th=[0.02,0.25],sigma=0.6图2-1-5log,th=0.001,sigma=3.0图2-1-6canny,th=[0.001,0.25],sigma=3.0图2-2-1原灰度图图2-2-2加噪声图图2-2-3log,th=0.25,sigma=0.6图2-2-4canny,th=[0.02,0.25],sigma=0.6图2-2-5log,th=0.001,sigma=3.0图2-2-6canny,th=[0.001,0.25],sigma=3.0实验中分别用两种算子在两种不同尺度下对图像进行边缘提取。对Lena图像的边缘提取结果如图1-1-3到图1-1-6以及图2-1-3到图2-1-6所示。对于LOG算子,在小尺度下,图像中的聚焦清楚的纹理丰富的头发和帽子上的装饰的边缘都刻画的比较细致,但是背景中较为模糊的边缘却丢失了,包括左侧的垂直边缘和右侧中部的对比度很弱的横向边缘,而在加大了噪声水平后图像中出现了不该出现的白点;而在大尺度下,这些背景边缘得到了体现,但同时对于那些丰富的纹理区,细节边缘却相比小尺度一定程度上缺失,并且边缘的位置出现了一定的偏移和扭曲。另一方面,对于Canny算子,在小尺度下,它对于图像中的纹理丰富的地方和背景处的边缘,都能较好地进行提取,而加大了噪声水平后帽子上和脸上出现了一些假边缘;而在大尺度下,细节部分同样相比小尺度有一定程度的丢失,只表现出一些轮廓特征,但是并无明显的假边缘出现。对Tessella图像的边缘提取如图1-2-3到图1-2-6以及图2-2-3到图2-2-6所示。对于LOG算子,在小尺度下,竖直边缘有些间断,水平边缘很好地提取出来并且连续性很好,加大噪声水平后出现了一定程度的假边缘;而在大尺度下,虽然噪声引起的假边缘得到了抑制,但是提取的边缘尤其是竖直边缘出现了很明显的偏移和扭曲,出现了更明显的假边缘。另一方面,对于Canny算子,在小尺度下,水平边缘有较好的提取质量,但是竖直边缘只能提取出极少部分,并且有一定的偏移,加大噪声水平后检出的竖直边缘增多,但是假边缘也愈发明显;而在大尺度下,虽然噪声引起的假边缘得到了抑制,但是竖直边缘丢失情况变得更加严重,水平边缘保持较好。通过对比可以发现,在小尺度下,LOG算子检测出的结果,在位置和组织结构上都与原始图像比较一致,从主观上比较容易辨认其中的条纹、结构;而Canny算子虽然对各种边缘都有较好的检出率,但是检测出的边缘点与原始图像的位置有一定范围的误差。而在大尺度下,LOG算子可以提取大多边缘,但是边缘的偏移和扭曲现象较为严重,即会出现较为严重的假边缘现象;儿Canny算子虽然并无明显的假边缘,但是只能检测出一些轮廓特征,细节部分丢失较为严重。1.2对自然图像tree的边缘检测结果(1)噪声水平为σ=0.0001图3-1-1原灰度图图3-1-2加噪声图图3-1-3log,th=0.25,sigma=0.6图3-1-4canny,th=[0.02,0.25],sigma=0.6图3-1-5log,th=0.001,sigma=3.0图3-1-6canny,th=[0.001,0.25],sigma=3.0(2)噪声水平为σ=0.0005图3-2-1原灰度图图3-2-2加噪声图图3-2-3log,th=0.25,sigma=0.6图3-2-4canny,th=[0.02,0.25],sigma=0.6图3-2-5log,th=0.001,sigma=3.0图3-2-6canny,th=[0.001,0.25],sigma=3.0从以上的边缘提取结果中可以看出,相同尺度下的LOG算子总是能比Canny算子提取出更多的细节,从地上以及书上的树叶等细节丰富的结构组织可以看出,而相对于此,Canny算子却总是能对真正比较显著地边缘给出检测,如树干等边缘。从抑制噪声方面来讲,Canny边缘检测子不容易受到噪声的干扰,而相同尺度下LOG算子却容易受到噪声的干扰,抑制噪声的能力要弱一些。另外,Canny算子更能检测出真正的弱边缘,但是Canny边缘检测子检测出的边缘的位置会有一定范围的误差,LOG边缘检测子相对比较容易受到噪声干扰,会检测出更多的细节,也容易检测出一些由于噪声引起的假边缘。LOG算子在大尺度上的算法都比较好的检测出树干的边缘,而对周围的纹理区域的刻画都失去了组织结构上的特征,而Canny算子在大尺度上会丢失大多数细节的边缘。1.3.实验总结LOG算子容易受尺度的影响,不同尺度下的边缘点要用不同尺度的LOG算子检测,Canny算子受尺度的影响不太明显,不同尺度下,边缘点的位置都有偏差,但几乎相同;LOG算子对噪声的抑制能力随着尺度的增加而增加,相同尺度下的Canny算子比LOG算子的抗噪声能力强,而LOG算子比Canny算子的边缘点准确;在尺度选择合适的情况下,LOG算子对图像边缘点检测的位置非常准确,能够保留边缘点比较细致的组织结构,而Canny算子对图像边缘检出率比较高,包括纹理区域,以及对比度很弱的边缘点,但是对这些边缘点的组织结构刻画得不是特别细致,边缘点的位置有小范围的偏差。2.参考文献1.D.MarrandE.Hildreth,TheoryofEdgeDetection,Proc.R.Soc.Lond.B207:187-217.2.JohnCanny,AComputationalApproachtoEdgeDetection,IEEETrans.PAMI,8(6):679-698.3.JamesJ.Clark,AuthenticatingEdgesProducedbyZero-crossingAlgorithms,IEEET.PAMI,11(1),1989,pp.43-57.