MATLAB: How to calculate percentage of Euclidean distance

distanceeuclidean distancefeaturesimage processingmatchingsimilarities

Hello
I use this code to find the similarities between features by the Euclidean distance.
function D= E_distance(n1, n2)
D = sqrt(sum((n1 - n2) .^ 2));
end
It will give me the distance between features, but I want to get the percentage where I can compare it to the threshold, how can I get it?

Best Answer

Assuming you want similarity % as explained here, alter the equation as such : https://stats.stackexchange.com/questions/53068/euclidean-distance-score-and-similarity
function S = E_similarity(n1, n2)
S = 1/(1+sqrt(sum((n1 - n2) .^ 2)));
end
If S == 1 (or distance is 0), then two points are the same
If S == 0 (or distance goes to infinite), then two points are very different
To use a cutoff of similarity, for instance 0.80, then you would so this
SimCutoff = 0.8;
if E_Similarity(n1, n2) <= SimCutoff
disp('Exceed cutoff. Not similar enough')
else
disp('Similar enough')
end
Related Question