数字图像处理实验报告-图像分割实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称数字图像处理导论
专业班级_______________
姓名_______________
学号_______________
电气与信息学院
和谐勤奋求是创新
实验题目图像分割实验
实验室DSP室&信号室实验时间
实验类别设计同组人数2
成绩指导教师签字:
一.实验目的
1.理解图像分割的基本概念;
2.理解图像边缘提取的基本概念;
3.掌握进行边缘提取的基本方法;
4.掌握用阈值法进行图像分割的基本方法。
二.实验内容
1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处;
2.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。
3.任选一种阈值法进行图像分割.
图1 图2
三.实验具体实现
1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处;
I=imread('mri.tif');
imshow(I)
BW1=edge(I,'roberts');
figure ,imshow(BW1),title('用Roberts算子')
BW2=edge(I,'sobel');
figure,imshow(BW2),title('用Sobel算子')
BW3=edge(I,'log');
figure,imshow(BW3),title('用拉普拉斯高斯算子')
比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。
2.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。
i=imread('m83.tif');
subplot(1,2,1);
imhist(i);
title('原始图像直方图');
thread=130/255;
subplot(1,2,2);
i3=im2bw(i,thread);
imshow(i3);
title('分割结果');
3.任选一种阈值法进行图像分割.
i=imread('trees.tif');
subplot(1,2,1);
imhist(i);
title('原始图像直方图');
thread=100/255;
subplot(1,2,2);
i3=im2bw(i,thread);
imshow(i3);
title('分割结果')
附录:可能用到的函数和参考结果**************报告里不能用参考结果中的图像
1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处;
输入如下代码:
I=imread('tire.tif');
imshow(I)
BW1=edge(I,'roberts');
figure ,imshow(BW1),title('用Roberts算子')
BW2=edge(I,'sobel');
figure,imshow(BW2),title('用Sobel算子')
BW3=edge(I,'log');
figure,imshow(BW3),title('用拉普拉斯高斯算子')
得到:
比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。
2.设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明。
利用双峰法
i=imread('example.tif');
subplot(1,2,1);
imhist(i);
title('原始图像直方图');
thread=130/255;
subplot(1,2,2);
i3=im2bw(i,thread);
imshow(i3);
title('分割结果');
根据原图像的直方图,发现背景和目标的分割值大约在130左右,并将灰度图像转为二值图像,分割效果比较理想。
3.任选一种阈值法进行图像分割.
选用双峰法对图像进行分割:
i=imread('eight.tif');
subplot(1,2,1);
imhist(i);
title('原始图像直方图');
thread=100/255;
subplot(1,2,2);
i3=im2bw(i,thread);
imshow(i3);
title('分割结果');
结果:
.
如有侵权请联系告知删除,感谢你们的配合!
精选