数字图像处理阈值分割.doc
- 文档编号:4898011
- 上传时间:2023-05-07
- 格式:DOC
- 页数:7
- 大小:2.30MB
数字图像处理阈值分割.doc
《数字图像处理阈值分割.doc》由会员分享,可在线阅读,更多相关《数字图像处理阈值分割.doc(7页珍藏版)》请在冰点文库上搜索。
计算机科学与通信工程学院
实验报告
课程
图像处理
实验题目
图像分割
1.引言
图像分割是一种重要的图像分析技术。
在对图像的研究和应用中,人们往往只对图像中的特定某一部分感兴趣,他们一般对应着图像中某些特定的区域。
为了识别它们,可以把他们从图像中分离提取出来。
2.基本知识
典型的图像分割方法可以分为基于阈值的方法、基于边缘的方法和基于区域的分割方法。
灰度阈值法将图片灰度划分为不同等级,用设置灰度阈值的方法确定有意义的区域。
它是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。
阈值分割方法实际上是输入图像f到输出图像g的如下变换:
其中,T为阈值,对于物体的图像元素g(i,j)=1,对于背景的图像元素g(i,j)=0。
由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。
阈值确定后,将阈值与像素点的灰度值逐个进行比较,而且像素分割可对各像素并行地进行,分割的结果直接给出图像区域。
图像边缘是图像识别中抽取图像特征的重要属性。
是由于相邻像素间灰度值剧烈变化引起的。
图像中边缘处像素的灰度值不连续,这种不连续性可通过求导数来检测到。
对于阶跃状边缘,其位置对应一阶导数的极值点,对应二阶导数的过零点(零交叉点)。
因此常用微分算子进行边缘检测。
常用的一阶微分算子有Roberts算子、Prewitt算子和Sobel算子,二阶微分算子有Laplace算子和Kirsh算子等。
在实际中各种微分算子常用小区域模板来表示,微分运算是利用模板和图像卷积来实现。
这些算子对噪声敏感,只适合于噪声较小不太复杂的图像。
水域分割是借鉴了形态学理论的分割方法,其本质是利用了图像的区域特征进行分割图像。
将边缘检测与区域生长的优点相结合。
3.功能分析及设计
用全局阈值、OTSU及迭代法求阈值。
结果如图2,3所示
I=imread('i_boat_gray.bmp');
[width,height]=size(I);
%otsualgorithm
level=graythresh(I);
BW=im2bw(I,level);
figure
imshow(BW)
%globalthreshold
fori=1:
width
forj=1:
height
if(I(i,j)<80)
BW1(i,j)=0;
else
BW1(i,j)=1;
end
end
end
figure
imshow(BW1)
%迭代求阈值
I=double(I);
T=(min(I(:
))+max(I(:
)))/2;
done=false;
i=0;
while~done
r1=find(I<=T);
r2=find(I>T);
Tnew=(mean(I(r1))+mean(I(r2)))/2;
done=abs(Tnew-T)<1;
T=Tnew;
i=i+1;
end
I(r1)=0;
I(r2)=1;
Figure;
imshow(I)
用分水岭算法分割图像:
center1=-10;
center2=-center1;
dist=sqrt(2*(2*center1)^2);
radius=(dist/2)*1.4;
lims=[floor(center1-1.2*radius)ceil(center2+1.2*radius)];
[x,y]=meshgrid(lims
(1):
lims
(2));
bw1=sqrt((x-center1).^2+(y-center1).^2)<=radius;
bw2=sqrt((x-center2).^2+(y-center2).^2)<=radius;
bw=bw1|bw2;
figure,imshow(bw,'InitialMagnification','fit'),title('二进制图像')
D=bwdist(~bw);
figure,imshow(D,[],'InitialMagnification','fit')
title('距离变换')
D=-D;
D(~bw)=-Inf;
L=watershed(D);
rgb=label2rgb(L,'jet',[.5.5.5]);
figure,imshow(rgb,'InitialMagnification','fit')
title('分水岭方法')
Sobel、Prewitt、Roberts等算子的边缘提取算法。
a=imread('d:
\skull.png');
bw1=edge(a,'sobel');
bw2=edge(a,'prewitt');
bw3=edge(a,'roberts');
bw4=edge(a,'log');
figure
imshow(a)
figure
subplot(2,2,1)
imshow(bw1)
xlabel('soble')
subplot(2,2,2)
imshow(bw2)
xlabel('prewitt')
subplot(2,2,3)
imshow(bw3)
xlabel('roberts')
subplot(2,2,4)
imshow(bw4)
xlabel('log')
用形态学方法:
BW1=imread('circbw.tif');
figure
imshow(BW1)
SE=strel('arbitrary',eye(5));
BW2=imerode(BW1,SE);
figure
imshow(BW2)
BW3=imdilate(BW1,SE);
figure
imshow(BW3)
BW4=imopen(BW1,SE);
figure,imshow(BW4)
BW4=imclose(BW1,SE);
figure,imshow(BW4)
4.实验结果与分析
原图:
图1
图2
图3
图4用分水岭算法分割图像
图5三种算子分割原图
图6
图7
图8
图9
5.总结与体会
通过相关函数的调用增加了自己对于matlab的掌握,对数字图像处理有了更加熟悉的了解。
在学习过程中有不懂的地方便去询问同学,也从优秀的同学那里学到了许多东西。
但自己更应询问老师,从老师那里可以学到更多的东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 阈值 分割