资源描述:
《数字图像处理实验报告材料——图像分割实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文档实验报告课程名称数字图像处理导论专业班级_______________姓名_______________学号_______________电气与信息学院和谐勤奋求是创新文案大全实用标准文档实验题目图像分割实验实验室DSP室&信号室实验时间实验类别设计同组人数2成绩指导教师签字:一.实验目的1.理解图像分割的基本概念;2.理解图像边缘提取的基本概念;3.掌握进行边缘提取的基本方法;4.掌握用阈值法进行图像分割的基本方法。二.实验内容1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处
2、理的不同之处;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
3、=edge(I,'log');figure,imshow(BW3),title('用拉普拉斯高斯算子')文案大全实用标准文档比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。1.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。i
4、=imread('m83.tif');subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);文案大全实用标准文档i3=im2bw(i,thread);imshow(i3);title('分割结果');1.任选一种阈值法进行图像分割.i=imread('trees.tif');subplot(1,2,1);imhist(i);title('原始图像直方图');thread=100/255;subplot(1,2,2);i3=im2bw(i,t
5、hread);imshow(i3);title('分割结果')文案大全实用标准文档文案大全实用标准文档文案大全实用标准文档附录:可能用到的函数和参考结果**************报告里不能用参考结果中的图像1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处;输入如下代码:I=imread('tire.tif');imshow(I)BW1=edge(I,'roberts');文案大全实用标准文档figure,imshow(BW1),title('用Roberts算子')BW2=e
6、dge(I,'sobel');figure,imshow(BW2),title('用Sobel算子')BW3=edge(I,'log');figure,imshow(BW3),title('用拉普拉斯高斯算子')得到:比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober
7、算子边缘更完整,效果更好。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.任选一种阈值法进
8、行图像分割.选用双峰法对图像进行分割:i=imread('eight.tif');subplot(1,2,1);imhist(i);title('原始图像直方图');thread=100/255;subplot(1,2,2);i3=im2bw(i,thread)