数字图像处理实验报告图像分割实验.docx
《数字图像处理实验报告图像分割实验.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告图像分割实验.docx(10页珍藏版)》请在冰豆网上搜索。
数字图像处理实验报告图像分割实验
实验报告
课程名称数字图像处理导论
专业班级_______________
姓名_______________
学号_______________
电气与信息学院
和谐勤奋求是创新
实验题目
图像分割实验
实验室
DSP室&信号室
实验时间
实验类别
设计
同组人数
2
成绩
指导教师签字:
一.实验目的
1.理解图像分割的基本概念;
2.理解图像边缘提取的基本概念;
3.掌握进行边缘提取的基本方法;
4.掌握用阈值法进行图像分割的基本方法。
二.实验内容
1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。
比较三种算子处理的不同之处;
2.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。
3.任选一种阈值法进行图像分割.
图1图2
三.实验具体实现
4.分别用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算子边缘更完整,效果更好。
5.设计一个检测图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('分割结果');
6.任选一种阈值法进行图像分割.
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('分割结果');
结果: