数字图像处理 验四.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像处理 验四

数字图像处理 实验四 实验目的 学习图像分割的概念及意义,重点掌握图像分割区域生长法。 理解灰度级门限化的概念并掌握其应用。 学习基于区域的分割技术,理解区域生长的意义并实现应用。 实验原理 图像分割的概念及其算法 图象分割——把图象空间按照一定的要求分成一些需要的那一部分的区域的技术。 图像分割算法一般是基于亮度值的两个基本特征之一:不连续性和相似性。基于亮度的不连续变化分割图像一般应用在图像的边缘;依据事先指定的准则将图像分割为相似的区域的应用一般在门限处理、区域生长、区域分离与聚合等方面。 灰度级门限化 一般来说图象是由具有不同灰度级的两类区域组成的,其特点故可选择一个门限,将两个峰分开。,则可选择一门限值T将象素分为“亮”的和“暗”的两类,从而把对象和背景分开。 另外根据不同的需要,门限选择的方式有很多种,如半门限、双门限、可变门限、局部特征值门限化等。 本次试验运用门限法寻找图像中的头骨,选择了两个门限来处理。 基于区域的分割 区域生长是一种根据事前定义的准则将像素或子区域聚合成更大区域的过程。基本方法是以“种子”点开始将与种子性质相似(本实验中为灰度级的特定范围)的相邻像素附加到生长区域的每个种子点上。当没有像素满足加入这个区域的生长条件时,区域生长就会停止。 本次实验首先要辅助设定一个只存放“1”、“0”的矩阵,这是由于一幅图象通常是由代表物体的图案与背景组成,简称1”,而把背景点标为“0”,通过分割以后,可得一幅二值图象。通过这点我们可以由该矩阵最终“1”的个数与分布看来确定何时退出循环和得到最终的分割图像。 接下来就是区域生长的过程,从种子点开始,在各个方向上生长出区域(实验中是四邻域),判断每一步所接受的邻近点的灰度级与先前物体的平均灰度级相差是否在设定值之内。另外整个实验中应保证原矩阵和辅助矩阵的对应关系,外加大循环则保证每个新生的点不被遗漏。 实验过程及结果 区域生长——分割区域 由图像分割的前三幅图可知,当各个像素与种子之间的灰度级绝对差选择不同的时候,我们可以得到不同的结果;大概在n=50左右得到的分割图像是最好的。另一方面,我在第一次选择种子点时取的值相对较偏,比如取seed=A(64,64),当n=50时,得到的即如果就不一样,我认为取A(64,128)效果更佳。 门限——寻找头骨 没什么技术可言,主要是上下门限的选择问题;实验中由于原图像中个别灰度值的接近,仅用门限法是无法将我们需要的信息和不相关信息区分开的,因此图像中出现了一些小白点及原本不该出现的部位。 实验maltab代码: function Image_P(Row,Column,T) %Row为矩阵的行号,Column为矩阵的列号 %T为区域设置的阈值 fp=fopen(d:\Eimage_007.img,r); M=256;N=256; c=fread(fp,M*N,float64); fclose(fp); %将读取出来的向量转化为256×256矩阵 for m=1:M for n=1:N Image(m,n)=c((m-1)*256+n); end end subplot(121);imshow(Image,[1,256]); title(原始的图像); Image1=ones(M+2,N+2);%设置一个矩阵模版使得原矩阵边界的8领域有效 Queue1=[Row,Column]; %将种子点的坐标放置于队列1中 seed=Image(Row,Column); Image1(2:M+1,2:N+1)=zeros(M,N); Image1(Row+1,Column+1)=1;%将位于一块区域的位置作1标记 num=0;sum=Image(Row,Column); Image_Out=256*ones(M,N);%将输出的矩阵初始化为白板 Image_Out(Row,Column)=Image(Row,Column); num1=1; while num1~=num seed=sum/num1; num2=num; num=num1; for m=1:num1-num2 Row=Queue1(m,1); Column=Queue1(m,2); for i=-1:1 for j=-1:1 if Image1(Row+i+1,Column+j+1)==0abs(Image(Row+i,Column+j)-seed)T Image_Out(Row+i,Column+j)=Image(Row+

文档评论(0)

gbv017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档