資源簡介
用matlab實現(xiàn)了水平集的方法,文件夾解壓后加入圖片即可運行

代碼片段和文件信息
%%計算符號函數(shù)
function?tag=Create_Tag(curve)%%curve=1代表邊界線
[mn]=size(curve);
%%%狀態(tài)標記Accepted:0Fararway:1存儲在tag中
tag=zeros(mn);
T=zeros(mn);
for?i=1:m
???for?j=1:n
???????if(curve(ij)==1)
???????????tag(ij)=0;
???????else
???????????tag(ij)=1;
???????end
???end
end
%%開辟兩個數(shù)組用來存儲壓棧時的坐標值
%%設(shè)置種子點坐標為kt
%%找種子點
seedi=zeros(1m);
seedj=zeros(1n);
stacki=0;
stackj=0;
sizei=size(stacki2);
%?sizej=size(stackj2);
for?i=1:m
????count=0;
????for?j=1:n
????????if(curve(ij)==1)
????????????count=count+1;
????????????seedi(count)=i;
????????????seedj(count)=j;
????????end
????end
????if(count>1?&&?mod(count2)==0)
????????for?t1=1:2:count
????????????if(seedj(t1+1)-seedj(t1)==1)
%?????????????????tempseedi=floor((seedi(t1)+seedi(t1+1))/2);
????????????????break;
????????????else
????????????????tempseedj=floor((seedj(t1)+seedj(t1+1))/2);
????????????????if(sizei==1)
????????????????????stacki=i;
????????????????????stackj=tempseedj;
????????????????????sizei=sizei+1;
????????????????else
????????????????????if(tag(itempseedj)~=0)
????????????????????????stacki=[stacki?i];
????????????????????????stackj=[stackj?tempseedj];
????????????????????????sizei=sizei+1;
????????????????????end
????????????????end
????????????end
????????end
????end
end
%將曲線內(nèi)部填充為0
sizei=size(stacki2);
sizej=size(stackj2);
while(sizei~=0)
????tempi=stacki(sizei);%%存儲當前處理點的坐標值
????tempj=stackj(sizej);
????stacki=stacki(1:(sizei-1));%%出棧
????sizei=sizei-1;
????stackj=stackj(1:(sizej-1));
????sizej=sizej-1;
????tag(tempitempj)=0;
????for?t1=-1:2:1
????????if(tempi+t1>0?&&?tempi+t10?&&?tempj+t1 ????????????if(tag(tempi+t1tempj)==1)
????????????????stacki=[stackitempi+t1];%%壓棧
????????????????sizei=sizei+1;
????????????????stackj=[stackjtempj];
????????????????sizej=sizej+1;
????????????end
????????????if(tag(tempitempj+t1)==1)
????????????????stacki=[stackitempi];
????????????????sizei=sizei+1;
????????????????stackj=[stackjtempj+t1];
????????????????sizej=sizej+1;
????????????end
????????end
????end
end
%%換算得到符號函數(shù)
tag=tag*2-1;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2221??2012-12-13?20:33??Create_Tag.m
?????文件????????1202??2012-12-13?20:33??Curvature.m
?????文件?????????372??2012-12-13?20:33??Extend_gradient.m
?????文件?????????471??2012-12-13?20:33??Gradient.m
?????文件?????????840??2012-12-13?20:33??Image_gradient.m
?????文件?????????978??2012-12-13?20:33??LevelSet_New.m
?????文件????????5312??2012-12-13?20:33??SDF_create.m
?????文件????????4009??2012-12-13?20:33??SDF_create2.m
?????文件????????2510??2012-12-13?20:33??Search_Curve.m
?????文件????????1729??2012-12-13?20:33??Search_Curve2.m
?????文件???????11910??2012-12-13?20:33??Search_Curve3.m
?????文件?????????131??2012-12-13?20:33??Speed.m
?????文件?????????332??2012-12-13?20:33??Speed2.m
?????文件?????????702??2012-12-18?00:46??test.m
評論
共有 條評論