实验六图像分割.docx
- 文档编号:8325432
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:19
- 大小:400.11KB
实验六图像分割.docx
《实验六图像分割.docx》由会员分享,可在线阅读,更多相关《实验六图像分割.docx(19页珍藏版)》请在冰豆网上搜索。
实验六图像分割
信息工程学院实验报告
课程名称:
数字图像处理
成绩:
指导老师(签名):
一、实验目得
1、使用MatLab软件进行图像得分割。
使学生通过实验体会一些主要得分割算子对图像处理得效果,以及各种因素对分割效果得影响。
2、要求学生能够自行评价各主要算子在无噪声条件下与噪声条件下得分割性能。
能够掌握分割条件(阈值等)得选择。
完成规定图像得处理并要求正确评价处理结果,能够从理论上作出合理得解释。
、实验内容与步骤
1、边缘检测
(1)使用Roberts算子得图像分割实验
(2)
调入并显示图像room、berts算子为一对模板:
相应得矩阵为:
rh=[01;—10];rv=[10;0-1];这里得rh为45度Rob
erts算子,rv为135度Roberts算子。
分别显示处理后得45度方向与135方向得边界检测结果;用“欧几里德距离”与“街区距离”方式计算梯度得模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果。
提示:
先做检测结果得直方图,参考直方图中灰度得分布尝试确定阈值;应反复调节阈值得大小,直至二值化得效果最为满意为止。
(3)使用Prewitt算子得图像分割实验
-1
-1
-1
-1
0
1
使用Prewitt算子进行内容
(1)中得全部步骤。
(4)
使用Sobel算子得图像分割实验使用Sobel算子进行内容
(1)中得全部步骤。
Sobel算子模板
(4)使用Log(拉普拉斯-高斯)算子得图像分割实验
使用Log(拉普拉斯一高斯)算子进行内容
(1)中得全部步骤。
提示1:
处理后可以直接显示处理结果,无须另外计算梯度得模。
提示2:
注意调节噪声得强度以及LoG(拉普拉斯-高斯)算子得参数,观察处理结果。
(5)打印全部结果并进行讨论.
下面就是使用sobel算子对图像进行分割得MATLAB程序
f=imread(/room、tif/);
[gv,t1]=edge(f,'sobel','vertical');%使用edge函数对图像f提取垂直边缘
imshow(gv)
[gb,t2]=edge(f,'sobel','horizontal');%使用edge函数对图像f提取水平边缘
figure,imshow(gb)
w45=[-2-10;-101;012];%指定模版使用imfilter计算45度方向得边缘
g45=imfiIter(double(f),w45,'relicate');
T=0、3*max(abs(g45(:
)));%设定阈值
g45=g45>=T;%进行阈值处理
figure,imshow(g45);
在函数中使用’prewitt'与’roberts,得过程,类似于使用sobel边缘检测器得过程。
三、实验结果及结果分析
1、边缘检测
(1)使用Roberts算子得图像分割实验实验结果:
g45
⑴欧几里得距离计算梯度模二值化
⑵街区距离计算梯度模二值化
实验结果分析:
ROberts算子利用局部差分算子寻找边缘,边缘定位精度比较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声能力。
该算子对具有陡峭边缘且噪声少得图像效果较好。
(2)使用Prew1tt算子得图像分割实验
实验结果:
⑵街区距离计算梯度模二值化
图5、Prewitt算子得图像分割
实验结果分析:
Prewitt算子先对图像做加权平滑处理,然后再做微分运算,所不同得就是平滑部分得权值有些差异,因此它们对噪声有一定得抑制能力。
(3)使用Sobel算子得图像分割实验实验结果:
⑵街区距离计算梯度模二值化
图6、Sobel算子得图像分割
实验结果分析:
Sobel算子与Prewitt算子一样,都就是先对图像做加权平滑处理,然后再做微分运算,因此它们对噪声有一定得抑制能力。
比较实验结果可以发现,Sobel算子比Prewitt算子
在噪声抑制方面略胜一筹,但不能排除检测结果中出现得虚假边缘。
虽然这两个算子边缘定位效果不错,但检测出得边缘容易出现多像素得宽度。
(4)使用LoG(拉普拉斯一高斯)算子得图像分割实验
:
.2
实验结果:
它就是无方向得二阶微分算子,对图像中得阶跃型边缘定位准确,该算它使噪声成分得到加强.这两个特性使得该算子容易丢失一部分边缘得方向信息,造成一些不连续得检测边缘。
LoG算子,该算子克服了拉普拉斯算子抗噪声性能比较差得缺点,但就是在抑制噪声得
同时也可能将原有得比较尖锐得边缘平滑掉了.
(5)打印全部结果并进行讨论。
使用sobel、prewi11与roberts算子对图像进行分割实验。
四、实验中遇到问题及解决方法
Prewitt算子、Sobel算子对于噪声条件下边界检测得
1、评价一下Roberts算子、性能.
答:
Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘.检测水平与
垂直边缘得效果好于斜向边缘,定位精度高,对噪声敏感。
?
Sobel算子根据像素点上下、
左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。
对噪声具有平滑作用,提供较为精确得边缘方向信息,边缘定位精度不够高.当对精度要求不就是很高时,就是一种较为常用得边缘检测方法。
Prewitt算子利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘。
对噪声具有平滑作用,定位精度不够高。
2.实验中所使用得四种算子所得到得边界有什么异同?
答:
算子得存在就就是对这种导数分割原理进行得实例化计算,就是为了在计算过程中直接使用得一种计算单位。
Roberts算子:
边缘定位准,但就是对噪声敏感。
适用于边缘明显且噪声较少得图像分割。
Roberts边缘检测算子就是一种利用局部差分算子寻找边缘得算子‘Robert算子图像处理后
结果边缘不就是很平滑。
经分析,由于Robert算子通常会在图像边缘附近得区域内产生
较宽得响应,故采用上述算子检测得边缘图像常需做细化处理,边缘定位得精度不就是很高.
Prewitt算子:
对噪声有抑制作用,抑制噪声得原理就是通过像素平均,但就是像素平均相当于对图像得低通滤波,所以Prewi11算子对边缘得定位不如ROberts算子。
Sobel算子:
Sobel算子与Prewitt算子都就是加权平均,但就是Sobel算子认为,邻域得像素对当前像素产生得影响不就是等价得,所以距离不同得像素具有不同得权值,对算子结果产生得影响也不同。
一般来说,距离越远,产生得影响越小。
IsotropicSobel算子:
加权平均算子,权值反比于邻点与中心点得距离,当沿不同方向检测边缘时梯度幅度一致,就就是通常所说得各向同性.
LapIacian算子:
这就是二阶微分算子.其具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。
但就是,其对噪声比较敏感,所以,图像一般先经过平滑处理,因为平滑处
理也就是用模板进行得,所以,通常得分割算法都就是把Laplacian算子与平滑算子结合起来生成一个新得模板.
Laplacian算子一般不以其原始形式用于边缘检测,因为其作为一个二阶导数,LapIacian算子对噪声具有无法接受得敏感性;同时其幅值产生算边缘,这就是复杂得分割不希望有得结
果;最后LapIacian算子不能检测边缘得方向;所以Laplacian在分割中所起得作用包括:
(1)利用它得零交叉性质进行边缘定位;
(2)确定一个像素就是在一条边缘暗得一面还就是亮得一面;一般使用得就是高斯型拉普拉斯算子(LaplacianofaGaussian,LoG),由于
二阶导数就是线性运算,利用LoG卷积一幅图像与首先使用高斯型平滑函数卷积改图像,然后计算所得结果得拉普拉斯就是一样得。
所以在LoG公式中使用高斯函数得目得就就是
对图像进行平滑处理,使用Laplacian算子得目得就是提供一幅用零交叉确定边缘位置得图像;图像得平滑处理减少了噪声得影响并且它得主要作用还就是抵消由Laplacian算子得二
阶导数引起得逐渐增加得噪声影响。
五、实验心得体会
掌握分割条件(阈值等)得选择。
完成规定
通过这个实验,我熟练学会了利用MatLab软件进行图像得分割。
在通过实验体会到了一些主要得分割算子对图像处理得效果,以及各种因素对分割效果得影响。
在评价各主要算子在无噪声条件下与噪声条件下得分割性能下图像得处理并评价处理结果。
六、源程序清单
%%
%1、使用Roberts算子得图像分割实验
I=imread('room、tif');
rh=:
-10;01:
;
rv=[0—1;10];
ate');
');
g45=imfilter(double(I),rh,'replicg135=imfilter(double(I),rv,'replicate
subplot(3,2,1);
imshow(g45,[]);
title('g45'
subplot(32
imshow(g135,[
tit1e('g1
%计算梯度模
%
(1)欧几里得距离计算梯度模
OD=sqrt(g45、人2+g135、人2);
subplot(323);
imshow(OD,[]);
title('
(1)欧几里得距离计算梯度模');
T=0、1*max(OD(:
));
BWOD=OD>T;
subp1ot(324);
imshow(BWOD);
tit1e('
(1)欧几里得距离计算梯度模二值化'
%
(2)街区距离计算梯度摸
);
2);
]);
35');
);
JD=abs(g45)+abs(g135);subplot(325);
imshow(JD,[]);
title('
(2)街区距离计算梯度模');
T=0、1*max(JD(:
));
BWDD=OD〉T;
subplot(326);
imshow(BWOD;
tit1e('
(2)街区距离计算梯度模二值化');%%
%2、使用Prewitt算子得图像分割实验
I=imread('r
rh=[—1-1
oom、tif'
—1;000;
);
11
rv=[—101
g45=imfilt
;-101;er(doub
le
10(I)
1];
1];
rh,/
g135=imfilte
subplot(3,2,1);imshow(g45,[]);title('g45');
subplot(322);
(double
I),rv,'r
replicate');ep1icate');
imshow(g135,[]);
title('g135');
%计算梯度模
%
(1)欧几里得距离计算梯度模
OD=sqrt(g45、Q+g135、人2);
subplot(323);
imshow(OD,[]);
title('
(1)欧几里得距离计算梯度模');
T=0、1*max(OD(:
));
BWOD=OD>T;
subp1ot(324);
imshow(BWOD);
);
title(/(I)欧几里得距离计算梯度模二值化'
%
(2)街区距离计算梯度模
JD=abs(g45)+abs(g135);
subplot(325);
imshow(JD,[]);
title('
(2)街区距离计算梯度模');
T=0、1*max(JD(:
));
BWOD=OD〉T;
subp1ot(326);
imshow(BWOD);
);
title('
(2)街区距离计算梯度模二值化'
%%
%3、使用Sobel算子得图像分割实验
subplot(322);
(325);
(JD,:
]);
(2)街区距离计算梯度模');*max(JD(:
));
BWOD=OD>T;
subplot(326);
mshow(BWOD);
le('
(2)街区距离计算梯度模二值化');
tit
%%
使用LoG(拉普拉斯-高斯)算子得图像分割实验ead('room、
[gv,t1]=edge(f,subplot(1,3,1)[gb,t2]=edge(f,subplot(1,w45=[-2-
%4、
f=imr
3,2);
10;-101
tif/);
'1og','Vertica;imshow(g'log','hoimshow(gb);
;012];
V);trizo
1/);%使用edge函数对图像f提取垂直边缘itle(/ntal');
('gb/
i
gv');
%使用edge函数对图像f提取水平边缘
title
%指定模版使用
);
mfilter计算45度方向得边缘
g45=imfiltT=0、3*max
er(double(f),w4
abs(g45(:
)));
%进行阈值处理
5,'rep1icate');%设定阈值
g45=g45>=T;
subp1ot(1,3,3);imshow(g45)
%%
%5打印全部结果并进行讨论。
%使用sobel、prewitt与robert
f=imread('room、tif/);
]=edge(f,'sobel/,/vegv);t
[gv,t1
subplot(1,3,1
[gb,t2:
=edgesubp1ot(1,3,2)
);
(f
mshow
'sobelimshow
-1
;title('g45');
s算子对图像进行分割实验。
w45=[-2-10;
g45=imfi1ter(do
T=0、3*max(abs(g45
g45=g45〉=T;
uble(f
(:
;0
)
))
rtica1');%使用edge函数对图像f提取垂直边缘
itle('sobe1(gV)');
%使用edge函数对图像f提取水平边缘
)');
ter计算4
','horizontal');
gb);tit1e('sobel(gb
12];%指定模版使用imfil
w45,'replic
);%设定阈值
%进行阈值处理
ate');
5度方向得边缘
subp1ot(1,3,3);ims
%%
%使用prewitt算子对图像进行分割实验。
f=imread('room
[gv2,t3]=edg
how(g45);titl
e('sobel
g45)')
、tif');
(f,'prewitt
rtic
%使用
edge
函数对图像f提取垂直边缘
subplot(1,3,
1)
[gb2,t4]=edg
subplot(1,3,w45=[-2-1
0;
;imshow(gv2);title
(f,'prewitt','horizontal'
);im
-1
/prewi
tt
);
)
show(gb2);tit1e(/prewitt
;012];%指定模版使用imfilter
(gv)'
;%使用
(gb)');
计算45
edge
函数对图像f提取水平边缘
度方向得边缘
g45=imfi1teT=0、3*max(absg45=g45〉=T;subplot
%%
(f),w45,/replicate');));%设定阈值
%进行阈值处理
1,3,3);imshow(g45);title
r(dou
(g45
:
)
0/
'pre
witt(g45)/);
%使用roberts算子对图像进行分割实验。
f=imread('room
[gv3,t5]=edge
');
f,/roberts
、tif
ver
ical'
);%使用edge函数对图像f提取垂直边缘
subplot(1,3,
[gb3,t6:
=ed缘
1);imshow(gv3);titlege(f,'roberts
'ro
berts(gv)/);
/horizonta1');%使用edge函数对图像f提取水平边
subplot(1,3,2);
w45=[—2—101
r
;012];%指定模版使用
icate'
imshow(gb3);title(
01
oberts(g
imfil
b)');
ter计算45度方向得边缘
g45=imfilter(doubT=0、3*max(abs(g45g45=g45>=T;
subplot(1,3,3);imshow(g45);
%%
%图像像素值得标定
I=imread('roo
rh=:
-10;0
rv=[0-1;1
f),w45,'repl
)));%设定阈值
%进行阈值处理
m、tif');
1];
0];
g45=imfilter(subplot(121);
imshow(g45);
title('未标定'cg45=(g45-min
subplot(122);
imshow(cg45);
title('已标定'
(double(I),rh,
);
(g45(:
)))/(ma
);
title
ep
x(g
(/ro
icate
);
berts
45(:
))-min
g45)');
(g45(:
)));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 图像 分割
![提示](https://static.bdocx.com/images/bang_tan.gif)