Feature matching using Euclidean
2 次查看(过去 30 天)
显示 更早的评论
I am now doing copy move image forgery detection using DCT. Now I have some problem for matching part. It lagging for loading whole data since I am using looping to get the similarity between two row vector. Any idea to change my code in better way. Here is my code for the matching part.
z=0;
for num=1:group
for a=mS(num):mE(num)-1
for b=a+1:mE(num)
z=z+1;
Dsimilar(z,1) = norm(sort(a,:)-sort(b,:))
end
end
end
0 个评论
采纳的回答
Walter Roberson
2015-5-13
That is not a valid calling form for the sort() function, so that code will not execute.
Why would you want to sort a single integer anyhow?
3 个评论
Walter Roberson
2015-5-13
norm() by default calculates the 2-norm, which is the Euclidean length of the vector. Which is sqrt(sum(x.^2)) . You can calculate a lot of euclidean lengths at once. For example,
for a = Ms(num):Me(num)+1
Ta = repmat(sortZZ(a,:), Me(num)-a, 1);
Tb = sortZZ(a+1:me(num),:);
norms = sqrt(sum((Ta - Tb).^2, 2));
Dsimilar = [Dsimilar; norms(:)];
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!