图像的边缘检测.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流图像的边缘检测.精品文档.数字图像处理实验报告实验三 图像的边缘检测1 实验目的1)掌握matlab的基本操作。2)图像的边缘进行提取,通过对边缘的分析来分析图像的特征。3)学习图像边缘检测的原理,观察算法处理结果。2 实验设备1) PC计算机2) matlab软件3) 实验所需要的图片3 实验步骤(1) 使用imread函数读取一幅RGB图像,并输出显示该图像;(2) 由于MATLAB对彩色图像不能进行分析,所以,要将图像首先进行灰度处理;(3) 对灰度处理后的图像依次进行Sobel算子,Prewitt算子,Roberts算子,Laplace算子和Canny算子运算;(4) 根据对图像观察分析,得出结论。4 matlab程序I=imread('E:10.jpg '); subplot(3,3,1); imshow(I);title('1 原图像'); J=rgb2gray(I); subplot(3,3,2); imshow(J);title('2 灰度图'); K=imadjust(J,40/255 1); subplot(3,3,3) imshow(K);title('3 调整灰度后的图');I1=edge(K,'sobel'); subplot(3,3,4); imshow(I1);title('4 Sobel算子');I2=edge(K,'prewitt'); subplot(3,3,5); imshow(I2);title('5 Prewitt算子'); I3=edge(K,'robert'); subplot(3,3,6); imshow(I3);title('6 Robert算子'); I4=edge(K,'log'); subplot(3,3,7); imshow(I4);title('7 Laplace算子'); I5=edge(K,'canny'); subplot(3,3,8); imshow(I5);title('8 Canny算子');5 实验结果与分析通过观察分析图像,可知,Prewit t 算子和Sobel 算子都是对图像进行差分和滤波运算,仅在平滑部分的权值选择上有些差异,但是图像产生了一定的模糊, 而且有些边缘还检测不出来,所以检测精度比较低, 该类算子比较适用于图像边缘灰度值比较明显的情况。Robert s 算子检测精度比较高, 但容易丢失一部分边缘, 使检测的结果不完整,同时图像没经过平滑处理,不能抑制噪声,所以该算子对具有陡峭的低噪声图像响应最好。 Laplace算子通过高斯函数对图像进行了平滑处理,对噪声的抑制作用比较明显, 但处理的同时也可能将原有的边缘平滑, 造成某些边缘无法检测到。此外,噪声对其影响也较大,检测到的图细节很丰富,同时就可能出现伪边缘。但是,如果要降低伪边缘的话,又可能使检测精度下降,丢失很多真边缘。因此, 对于不同图像应选择不同参数。 Canny 算子也采用高斯函数对图像进行平滑处理,也具有较强的去噪能力, 但同样可能会丢失一些边缘信息,但是,从图中可以看出,Canny 算子比Laplace算子的检测边缘的精度要高些。通过实验结果可以看出,该算子在上述几种边缘检测算子当中效果最好。