网站大量收购独家精品文档,联系QQ:2885784924

区域生长法实验报告.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
区域生长法实验报告

创新实验报告基于区域生长法的图像分割实验目的:区域生长法分割图像算法描述:区域生长法是指将成组的像素或区域发展成更大区域的过程。从种子点的集合开始,从这些点的区域增长是通过将与每个种子点有相似属性像强度、灰度级、纹理颜色等的相邻像素合并到此区域。它是一个迭代的过程,这里每个种子像素点都迭代生长,直到处理过每个像素,因此形成了不同的区域,这些区域它们的边界通过闭合的多边形定义。本文应用的区域生长法是根据像素点的强度来确定一个像素点是否属于某一个区域的这个算法的初始点的确定是可以由用户给定,或者由getpts函数产生。可以把由性质相同的像素组成的二维的集合看成一个区域,区域生长法是把输入图像中的由几个像素(甚至是单个像素)组成的“核”扩展成一个区域(即一个像素集)。在本文中的算法是将单个像素组成的核扩展成的,初始的核由一个像素组成。区域生长法首先要对每一个“生长核”赋予一组参数,该参数能够反映该“生长核”所属不同区域的特性。在本文中,这个参数取的比较简单,但是很实用,本文中参数取得的是像素的强度。接下来是考察“生长核”周围的所有的边界,在本文中,边界是和这个像素相邻的最近的四个点,即上下左右四个点,这四个点是用一个矩阵来表示的这个矩阵的行和列分别代表了生长核边界点的四邻和该边界点的关系接下来,如果边界的两侧的某种特征值(如灰度值,纹理,颜色等,在本文中为像素点的强度)相差明显,则认为这个边界是一个强边界,否则是弱边界。强边界是要保留的,并且认为是一个不同区域的分界线,弱边界是要消除的,是所涉及的两个区域的合并,这种检测边界,合并区域进而找到强边界的过程是一个迭代的过程,这个过程就像区域生长一样。在本文中,这个边界是根据阈值来确定的。这个阈值可以事先由使用者给 出,如果没有给出,则默认为0.2如果某个像素点的四个相邻的邻居的强度和该区域的平均阈值相差在阈值范围内,则认为该邻居是属于这个区域的;否则就认为是不属于这个区域。最简单的区域生长法是阈值区域生长算法,就是本文所讨论的办法,该方法假定图像中包含着物体和背景,且定义:为了选择阈值,最简单的办法是利用灰度直方图,并且假定直方图是准双峰的,如图阈值T可以在两个峰之间的波谷中选取。当然,很多图像都不是上述这样简单的图像,所以区域生长算法针对具体对象要进行改进。而在本文中,由于是要对这个图像进行区域的分割,而不是区域的识别,这样就不需要进行这样的阈值分割方法,只需要由使用者事先给出或者由系统默认的就可以。这个方法的大致流程是:开始判断使用者是否给出了初始种子和阈值否使用getpts得到初始种子,函数默认的阈值是0.2是根据邻居矩阵得到当前种子的四个邻居结束并且输出图像是是否所有像素都已经加入区域将该种子从邻居列表删除是将该邻居加入该区域,并且作为当前种子,从邻居列表删除该种子计算此时的区域强度均值和当前的邻居列表否差值大于阈值将种子的邻居都加入邻居列表矩阵,并且计算各个邻居和区域均值的差值算法步骤:S1:判断使用者是否给出初始种子和阈值S2:如果没有给出,则使用getpts得到,并且默认的强度阈值为0.2。已经给出的则转s3S3:计算区域的邻居,将区域的邻居加入邻居列表。S4:计算区域的强度均值S5:计算邻居列表中所有邻居和区域均值的差值,选出差值最小的S6:如果最小的差值在阈值范围内,则将该像素加入邻居列表并转s3S7:如果差值大于阈值,则该区域已经分割结束,转s2算法程序:I = im2double(imread(medtest.png)); x=45; y=78; J = regiongrowing(I,40,59,0.2); figure, imshow(I+J)function J=regiongrowing(I,x,y,reg_maxdist)% 这个函数实现从一个选定的种子点(x,y)实现“区域生长法”% J = regiongrowing(I,x,y,t) 函数定义% I :输入图像% J :区域的逻辑图像输出% x,y :给定的种子点,如果没有给出则用getpts得到% t最大强度距离%这个区域的依照强度生长,通过比较所有没有确定属于哪个区域的像素点来实现像素的强度和这个区域的均值的区别被用来作为这个区域和这个像素相似度的一个度量。% 通过这种方法度量后,具有最小区别的像素将被定位为属于这个区域% (t)当新的像素和这个区域的均值的差别大于一个特定的值时treshold(t),这个过程就将停止if(exist(reg_maxdist,var)==0), reg_maxdist=0.2; end %判断reg_maxdist是否给出if(exist(y,var)==0), figure, imshow(I,[]); [y,x]=getpts; y=round(y(1))

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档