當前位置:編程學習大全網 - 網站源碼 - 如何實現snake算法的matlab編程,來提取圖像中劃痕缺陷的邊緣,誰有程序不妨發上來

如何實現snake算法的matlab編程,來提取圖像中劃痕缺陷的邊緣,誰有程序不妨發上來

N = length(x);

alpha = alpha* ones(1,N);

beta = beta*ones(1,N);

% produce the five diagnal vectors

alpham1 = [alpha(2:N) alpha(1)];

alphap1 = [alpha(N) alpha(1:N-1)];

betam1 = [beta(2:N) beta(1)];

betap1 = [beta(N) beta(1:N-1)];

a = betam1;

b = -alpha - 2*beta - 2*betam1;

c = alpha + alphap1 +betam1 + 4*beta + betap1;

d = -alphap1 - 2*beta - 2*betap1;

e = betap1;

% generate the parameters matrix

A = diag(a(1:N-2),-2) + diag(a(N-1:N),N-2);

A = A + diag(b(1:N-1),-1) + diag(b(N), N-1);

A = A + diag(c);

A = A + diag(d(1:N-1),1) + diag(d(N),-(N-1));

A = A + diag(e(1:N-2),2) + diag(e(N-1:N),-(N-2));

invAI = inv(A + gamma * diag(ones(1,N)));

for count = 1:ITER,

vfx = interp2(fx,x,y,'*linear');

vfy = interp2(fy,x,y,'*linear');

% deform snake

x = invAI * (gamma* x + kappa*vfx);

y = invAI * (gamma* y + kappa*vfy);

end

  • 上一篇:imtoken錢包fil怎麽轉到歐易
  • 下一篇:英雄聯盟怎麽查所在的IP
  • copyright 2024編程學習大全網