У меня есть вопрос о реализации с установленным уровнем.
В статье «Эволюция регулятивного набора уровней на расстоянии и ее применение к сегментации изображения» Чунмин Ли, Ченьян Сюй, вы можете найти уравнение диффузии:
(извините, но я не могу публиковать изображения :()
(14) стр. 4 из pdf
Для 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);
, и это нормально, потому что для этого дп уравнение (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);
Я не понимаю последнюю строку этой функции.
Спасибо