水域分割实验报告Word文件下载.docx

上传人:b****6 文档编号:17759672 上传时间:2022-12-09 格式:DOCX 页数:12 大小:246.96KB
下载 相关 举报
水域分割实验报告Word文件下载.docx_第1页
第1页 / 共12页
水域分割实验报告Word文件下载.docx_第2页
第2页 / 共12页
水域分割实验报告Word文件下载.docx_第3页
第3页 / 共12页
水域分割实验报告Word文件下载.docx_第4页
第4页 / 共12页
水域分割实验报告Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

水域分割实验报告Word文件下载.docx

《水域分割实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《水域分割实验报告Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

水域分割实验报告Word文件下载.docx

4、学习图像分割的基本知识。

二、实验要求

(一)、对实验过程的要求

1、编写M-文件,实现给定图像的分割。

2、学习Matlab中Demo的相关帮助。

3、实验中生成的中间结果和数据尽量保存。

(二)、对实验报告的撰写要求

1、参考附录的实验报告格式样本撰写。

2、“实验结果”主要包括:

(1)基于标记的和非标记的两种水域分割结果图。

(2)用于水域分割的Marker图。

(3)将水域分割得到结果的轮廓在原图上显示出来。

3、实验报告附录中包含M-文件的源代码,要注意代码的格式。

三、实验环境和设备

1、PC机,WindowsXP/7操作系统。

2、MatlabR2010及其以上版本。

四、实验原理

1、图像分割

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程,它是由图像处理到图像分析的关键步骤。

图像分割的关键是将前景与背景区分开。

分水岭算法又称为水域分割,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。

分水岭的概念和形成可以通过模拟浸入过程来说明。

在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。

水域分割一般是在梯度图像上实现,梯度图上的局部极小值一般代表较平滑的区域,即为目标中心区域或者变化不大的背景区域,集水形成的“分水岭”则位于梯度较大的边缘区域。

2、实现方式

首先要对输入原始图像求取梯度图像,对梯度图像直接做水域变换(watershed)即可得到无标记的水域分割结果。

对梯度图像做前景标记,即在输入图像的每一个目标中心做一个Marker(可手动选取,也可用阈值法得到),在梯度图像上用该Marker作局部极小值的标记,再进行水域变换,即可得到基于标记点的水域分割结果。

3、分割结果展示,在原图像上添加水域分割得到的轮廓如图所示。

(a)(b)

图1图像配准的例子。

五、实验内容及步骤

(一)学习Matlab帮助的Demo代码

从Matlab帮助界面中打开Demos或Examples,搜索watershed在结果中找到Marker-ControlledWatershedSegmentation,配合中间结果研究该demo如何实现利用水域分割得到图像中的梨。

(二)输入测试图像生成待分割的灰度图像

利用如下代码输入图像:

I=imread('

cells.bmp'

);

(三)计算图像梯度与水域分割

使用sobel算子计算水平梯度与垂直梯度再综合,得到输入图像的梯度图像。

在梯度图像上直接做水域分割,得到非标记的水域分割结果。

(四)计算标记点

在原始图像上通过阈值得到前景的大致分割结果并用形态学腐蚀后作为前景(细胞)标记,也可以通过函数[xy]=ginput()手动标记各细胞的位置,甚至用PS或windows画图画出细胞的标记。

标记点可以是真正的点,也可以是有一定面积的区域,但是标记区域一定要位于真实的分割细胞内部。

标记图像是与输入图像同大小的,在细胞位置为255,其他位置为0的图像,如下图所示。

(a)输入图像(b)标记图像

(五)由标记图像标记梯度图像中的前景与背景极值

第四步中得到的是前景(细胞)的标记,现在要通过前景标记得到背景标记。

函数bwdist可以计算二值图像的距离变换,对距离变换做watershed就可以得到前景与前景之间的背景标记(线型标记)。

在梯度图上利用imimposemin(gradmap,backgroundmarker|foregroundmarker)即可得到标记了极值的梯度图像;

(a)由距离变换得到的背景标记(b)标记前景与背景的梯度图像

(六)基于标记的水域分割

对标记了极小值的梯度图像做watershed,得到水域分割结果

(七)结果分析与总结

(1)对比无标记的水域分割与有标记的水域分割结果;

(2)总结水域分割算法整体流程,尤其是标记点的运用;

(3)与阈值法(如大津阈值)分割图像的算法相比,水域分割的优劣。

(八)Bonus

完全依照实验步骤,最后结果可能会如下所示的结果。

图中的线是如何产生的,如何避免产生这种问题。

六、实验结果

1.实验截图

2.结果分析与总结

无标记时,水域分割产生过分割现象,得不到理想的效果,只有标记后才能得到较为理想的结果

整体流程:

输入测试图像生成灰度图像=>

计算图像梯度=>

设置标记点产生标记图像=>

由标记图像标记梯度图像中的前景与背景极值=>

基于标记作水域分割

优点:

水域分割法可以得到比阈值法更好的分割原图像,它结合了边缘检测和区域生长的优点,得到单像素宽、封闭的、位置准确的轮廓。

缺点:

算法比较复杂,对计算机要求很高。

3.实验代码

clearall;

clc;

I=imread('

C:

\Users\rh\北航\大三下\MATLAB课\水域分割\cells.tif'

imshow(I);

title('

原图'

%1

h=fspecial('

sobel'

%h=fspecial(type)createsatwo-dimensionalfilterhofthespecifiedtype.fspecialreturnshas

%acorrelationkernel,whichistheappropriateformtousewithimfilter.typeisastringhavingoneofthesevalues.

fd=double(I);

%double使数据变成双精度

g=sqrt(imfilter(fd,h,'

replicate'

).^2+imfilter(fd,h'

'

).^2);

figure;

imshow(g);

梯度图'

%2

L=watershed(g);

Lrgb=I;

Lrgb(L==0)=255;

imshow(Lrgb);

未标记的水域分割'

%3

se=strel('

disk'

20);

se2=strel(ones(3,3));

Ie=imerode(I,se);

Iobr=imreconstruct(Ie,I);

Iobrd=imdilate(Iobr,se);

Iobrcbr=imreconstruct(imcomplement(Iobrd),imcomplement(Iobr));

Iobrcbr=imcomplement(Iobrcbr);

fgm=imregionalmax(Iobrcbr);

fgm2=imclose(fgm,se2);

g3=imerode(fgm2,se2);

imshow(g3);

标记图像'

%4

M=imread('

\Users\rh\北航\大三下\MATLAB课\水域分割\ff.tif'

imshow(M);

标记图像改正后'

%5

bw=im2bw(Iobrcbr,graythresh(Iobrcbr));

%阈值分割

D=bwdist(bw);

Lim=watershed(D);

%watershed分水岭算法Lim的值greaterthanorequalto0,等于0是分水岭脊像素

em=Lim==0;

imshow(em);

背景标记'

%6

fgm4=bwareaopen(M,20);

g4=imimposemin(g,em|fgm4);

imshow(g4);

标记前景与背景的梯度图像'

%7

g5=watershed(g4);

g6=I;

g6(g5==0)=255;

imshow(g6);

标记后的水域分割'

%8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1