- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于形态学分水岭的图像分割算法.doc
基于形态学分水岭的图像分割算法
摘要:
关键字:
图像分割是图像分析和处理中一个重要的研究方向,它是许多后续处理的基础。其分割结果的好坏对后续的图像分析、理解及识别都有很大影响。图像分割的算法有很多种,比较常用的有:快速聚类分割、颗粒分割、区域阈值法、边缘检测法以及基于形态学分水岭分割等。其中分水岭变换是图像分割中的一种经典有效的方法,它与经典的边缘检测算法相比,计算精度高,可有效的生成封闭的单像素轮廓,它以快速、有效、准确的分割结果越来越得到人们的重视。
分水岭图像分割方法采用的原理主要有两种:
第一种是模拟浸水过程。首先把一幅图像视为跌宕起伏的地形曲面,图像中每个象素的灰度值对应于地形中的高度,代表了该点在地形中的海拔。在这样的地形中,有盆地(图像中的局部极小区域)、山脊(分水岭)以及盆地和山脊之间的山坡。初始把图像这个有盆地也有山脊的地形模型垂直浸入湖水中,然后在各个盆地的最低处刺上各个洞,使水慢慢均匀浸入各个洞中,当水快要填满盆地,即某两个或多个盆地中的水将要相交融时,就在将要相交的两盆地之间修建堤坝,随着水位的逐渐上涨,最后各个盆地完全被水淹没,只有各个堤坝没被水淹没,而各个盆地又完全被堤坝所包围,从而可以得到各个堤坝(分水岭)和一个个被堤坝分开的盆地(目标物体),从而达到使粘连物体分割的目的。
第二种是模拟降水过程。这种方法也是基于地形学中的地貌特征,同样把一幅图像视为跌宕起伏的地貌模型。在模拟降水过程中,当雨滴落到山地模型上时,必将沿着山坡流人谷底,雨滴所经过的路线就是一个连通分支,也是雨滴到谷底的最陡峭路径,而通往同一谷底的所有连通分支就形成了一个蓄水盆地。
算法实现:
% 分水岭算法clear, close all;
clc;
PathName=t ;%t为自填内容,下面p类似FileName=[PathName p];??
Image=imread(FileName);
subplot(2,2,1);subimage(Image);title(原图);;pixval on;B=[1,1,1;1,1,1;1,1,1];%方形结构元E8=[-1,0;-1,1;0,1;1,1;1,0;1,-1;0,-1;-1,-1];??? % 8-连通结构元坐标maskLenth=length(E8);?????? % 结构元点的个数[X,Y]=size(Image);
%原始图像image 赋值给A1n=1;
A(:,:,n)=Image;
M=zeros(X,Y);
Mark_Image=zeros(X,Y);
%产生距离图while sum(sum(A(:,:,n)))~=0
???? A(:,:,n+1)= imerode(A(:,:,n),B);
???? U(:,:,n)= (A(:,:,n)-A(:,:,n+1))*n;
???? M=M+U(:,:,n);
???? n=n+1;
end
n=n-1;
subplot(2,2,2);imagesc(M,[0,n]);title(距离图);% 搜寻局部最大值,将其放入Deal_ImageDeal_Image=zeros(X,Y);
while n0
for high=1:X
????? for width=1:Y
%********************************************************************
????????? Mark_Bool=0;
????????? if M(high,width)==n
%______________________________________________________________?
??????????? for dot=1:maskLenth
???????????????? i=E8(dot,1); j=E8(dot,2);
???????????????? if high+i=1 width+j=1 high+i=X width+j=Y M(high+i,width+j)M(high,width);
????????????????????? Mark_Bool=1;break;
???????????????? end % if_end
????????????? end % for dot_end
%______________________________________________________________
???????????? if?? Mark_Bool==0;
???????????????? Deal_Image(high,width)=M(high,width);
???????????? end %if e
您可能关注的文档
最近下载
- 21塑造地表形态的力量(课件)-高二地理学与练(人教版2019选择性必修1).pptx
- gamma软件介绍课件.ppt VIP
- T_FSBMEA 0003—2025(牙科综合治疗机技术规范).pdf
- 宜搭低代码开发师(中级)部分考题.docx VIP
- 英语主谓宾定状补讲解[整理].pdf VIP
- GB50060-2008 3~110kV高压配电装置设计规范.pdf VIP
- 2025中水北方勘测设计研究有限责任公司校园招聘笔试参考题库附带答案详解.docx
- 社区工作人员真题含完整答案详解(全优).docx VIP
- 15.4 电流的测量 课件(共30张PPT)2025-2026学年人教版(2024)九年级全册.pptx VIP
- 公司日常行为规范及管理制度.docx VIP
文档评论(0)