1

レベルセットの実装について質問があります。

記事「距離正規化レベルセットの進化とその画像セグメンテーションへの応用」ChunmingLi、Chenyang Xuには、拡散方程式があります。

(申し訳ありませんが、画像を投稿することは許可されていません:()

(14)pdfから4ページ

dp(s)= 1-1 / sの場合、実装は[MATLAB]です。

distRegTerm = 4*del2(phi)-curvature;

どこ:

[phi_x,phi_y]=gradient(phi); 
s=sqrt(phi_x.^2 + phi_y.^2);
smallNumber=1e-10;  
Nx=phi_x./(s+smallNumber);
Ny=phi_y./(s+smallNumber);
curvature=div(Nx,Ny);

そのdpの式は(15)なので、問題ありません。

(10)の理由がわかりません

どこ:

p(s)は(16)です

コードは次のとおりです。

distRegTerm=distReg_p2(phi);

どこ:

function f = distReg_p2(phi)
[phi_x,phi_y]=gradient(phi);
s=sqrt(phi_x.^2 + phi_y.^2);
a=(s>=0) & (s<=1);
b=(s>1);
ps=a.*sin(2*pi*s)/(2*pi)+b.*(s-1);
dps=((ps~=0).*ps+(ps==0))./((s~=0).*s+(s==0));
f = div(dps.*phi_x - phi_x, dps.*phi_y - phi_y) + 4*del2(phi);

この関数の最後の行がわかりません。

ありがとう

4

0 に答える 0