你可以看到,公式中的上下文http://www.cs.berkeley.edu/~malik/papers/SM-ncut.pdf(方程4頁11)。 在那篇論文中,他們用F表示強度,我假設你有我。 由於你的強度是標量,你只是想要取其差異的平方。
您想要計算權重矩陣,該矩陣可計算A中任何條目與A中任何其他條目的相關性。由於您的A有25個條目,因此您的權重矩陣將爲25x25。
既然你只擔心亮度,這是很容易:
len = length(A(:));
W = zeros(len);
for i = 1:len
for j = 1:len
W(i,j) = (A(i) - A(j))^2;
end
end
現在,如果你想查找一個之間(1,1)的重量和A(1,2),你可以做到這一點像這樣:
i = sub2ind(size(A), 1, 1)
j = sub2ind(size(A), 1, 2)
W(i, j)
但是,如果你設置R = 1(根據NCuts公式),那麼你可能想是這樣的:
sigma= 10;
r = 1;
A = magic(3);
siz = size(A);
len = length(A(:));
W = zeros(len);
for i = 1:len
for j = 1:len
[xi,yi] = ind2sub(siz,i);
[xj,yj] = ind2sub(siz,j);
if((xi-xj)^2 + (yi-yj)^2) > r^2
W(i,j) = 0;
else
W(i,j) = exp(-(A(i) - A(j))^2/sigma^2);
end
end
end
A11 = sub2ind(siz, 1, 1)
A12 = sub2ind(siz, 1, 2)
W(A11, A12)
你爲什麼期待四個元素的矢量?那是因爲A(1,1)有4個鄰居,你想要距離到每個? – Bull 2013-05-14 13:39:34
是A(1,1)有3個鄰居和它自己,所以我期待4個距離當然我假設從A(1,1)和A(1,1)的距離是0 – blueSurfer 2013-05-14 19:18:19