图像的边缘检测

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理实验报告

实验三图像的边缘检测

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 实验结果与分析

1 原图像

2 灰度图

3 调整灰度后的图

4 Sobel算子

5 Prewitt算子

6 Robert算子

7 Laplace算子8 Canny算子

通过观察分析图像,可知,Prewit t 算子和Sobel 算子都是对图像进行差分和滤波运算,仅在平滑部分的权值选择上有些差异,但是图像产生了一定的模糊, 而且有些边缘还检测不出来,所以检测精度比较低, 该类算子比较适用于图像边缘灰度值比较明显的情况。

Robert s 算子检测精度比较高, 但容易丢失一部分边缘, 使检测的结果不完整,同时图像没经过平滑处理,不能抑制噪声,所以该算子对具有陡峭的低噪声图像响应最好。

Laplace算子通过高斯函数对图像进行了平滑处理,对噪声的抑制作用比较明显, 但处理的同时也可能将原有的边缘平滑, 造成某些边缘无法检测到。此外,噪声对其影响也较大,检测到的图细节很丰富,同时就可能出现伪边缘。但是,如果要降低伪边缘的话,又可能使检测精度下降,丢失很多真边缘。因此, 对于不同图像应选择不同参数。

Canny 算子也采用高斯函数对图像进行平滑处理,也具有较强的去噪能力, 但同样可能会丢失一些边缘信息,但是,从图中可以看出,Canny 算子比Laplace 算子的检测边缘的精度要高些。通过实验结果可以看出,该算子在上述几种边缘检测算子当中效果最好。

相关文档
最新文档