91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: Matlab
  • 標簽: 區域生長??

資源簡介

基于種子點和分割閾值的區域生長實現代碼,以種子點為中心,由右、下、左、上的順序實現由內而外的生長。

資源截圖

代碼片段和文件信息

function?[?quyu_markxj_z_numxj_z_mark]?=?quyushengzhang(?imgcentermax_numTmaxv?)
%QUYUSHENGZHANG?Summary?of?this?function?goes?here
%???Detailed?explanation?goes?here

[m?n]=size(img);
quyu_mark=zeros(mn);%先賦初值,所有點的標號均為0
xj_z_num=0;
xj_z_mark=zeros(20);


?for?t_e=1:max_num
?????i=center(2t_e);%提取種子點的坐標
?????j=center(1t_e);
?????if?img(ij)>T
?????????quyu_mark(ij)=t_e;%區域標號
?????????t_points=1;%區域內目標點個數

?????????a=1;
?????????b=1;
?????????c=1;
?????????d=1;???%四個方向的計數器
????%?????h=0;

?????????%%
??????????%為了限制搜索的時間,我們將搜索范圍設置在30*30的范圍內,因為質心位置不一定居中,所以我們最多搜索質心周圍30*30的范圍
?????????a_r=min(30i);
?????????b_r=min(30n-j);
?????????c_r=min(30m-i);
?????????d_r=min(30j);


?????????%%
????????while?a?????????????????????????%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以下為上側生長程序
????????????while?a????????????????mina=max(j-a1);
????????????????maxa=min(j+an);????????????????%找出兩側端點,此時只需考慮列
????????????????for?k=mina:maxa
????????????????????if?k==mina?????????????????????????????????%若為左端點
????????????????????????if?quyu_mark(i-a+1k)==t_e||quyu_mark(i-a+1k+1)==t_e???%且下或右下存在種子,進行下面的判斷
?????????????????????????????if?img(i-ak)>T
????????????????????????????????quyu_mark(i-ak)=t_e;
????????????????????????????????t_points=t_points+1;
????????????????????????????end
????????????????????????end
????????????????????else??if?k==maxa????????????????%若為右端點
????????????????????????????????if?quyu_mark(i-ak-1)==t_e||quyu_mark(i-a+1k-1)==t_e||quyu_mark(i-a+1k)==t_e???%且左或左下或下存在種子,進行下面的判斷
????????????????????????????????????if?img(i-ak)>T
????????????????????????????????????????quyu_mark(i-ak)=t_e;
????????????????????????????????????????t_points=t_points+1;
????????????????????????????????????end
????????????????????????????????end
????????????????????????%end
???????????????????????????%k不為端點,則需檢測左、左下、下和右下
????????????????????else??if?quyu_mark(i-ak-1)==t_e||quyu_mark(i-a+1k-1)==t_e||quyu_mark(i-a+1k)==t_e||quyu_mark(i-a+1k+1)==t_e????%左下、下或右下存在種子則進行下面的判斷
????????????????????????????????if?img(i-ak)>T
????????????????????????????????????quyu_mark(i-ak)=t_e;
????????????????????????????????????t_points=t_points+1;
????????????????????????????????end
????????????????????????end
????????????????????????end
????????????????????end
????????????????end
????????????????a=a+1;
????????????????break;
????????????end

????????????%%%%%%%%%%%%%%%%上側完成一次生長,以下為右側生長程序%%%%%%%%%%%%%%%%
????????????while?b<=b_r?????????????????????????%b<=b_r只執行一次(用break來保證)?????
????????????????minb=max(i-b1);
????????????????maxb=min(i+bm);????????????????%找出兩側端點,此時則只需考慮行
????????????????for?k=minb:maxb
????????????????????if?k==minb?????????????????????????????????%若為上端點
????????????????????????if?quyu_mark(kj+b-1)==t_e||quyu_mark(k+1j+b-1)==t_e???%且左或左下存在種子,進行下面的判斷
????????????????????????

評論

共有 條評論