Feature matching using Euclidean

1 view (last 30 days)
Im
Im on 13 May 2015
Commented: Im on 18 May 2015
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

Accepted Answer

Walter Roberson
Walter Roberson on 13 May 2015
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 Comments
Walter Roberson
Walter Roberson on 13 May 2015
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
Im
Im on 18 May 2015
Thanks a lot. I get it.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!