finding dissimilarity between two binary image in a range between 0 and 10

12 views (last 30 days)
Hi everybody, I have a problem that requires finding the dissimilarity between 2 binary images I tried to use the euclidean distance but the dissimilarity was large. If anyone can help me to implement such a code with a dissimilarity range between 0 and 10

Answers (3)

Alex Taylor
Alex Taylor on 13 Apr 2016
If all you care about is an elementwise similarity metric that is normalized to the range [0 10]
similarity = @(A,B) 10*sum(A(:)==B(:))./numel(A);
similarity([false true true],[true true true])
Note that there are much better similarity metrics out there, but seemed like most of what you cared about was the normalization between [0,10], not how well the similarity metric works.
  1 Comment
Saad mohammad
Saad mohammad on 13 Apr 2016
thank you Alex for your answer but can you please tell me what formula did you use for calculating the similarity

Sign in to comment.


Image Analyst
Image Analyst on 13 Apr 2016
Alex's formula is simply the percentage of pixels in A that match in B.

Muhammad Usman Saleem
Muhammad Usman Saleem on 13 Apr 2016
Edited: Muhammad Usman Saleem on 13 Apr 2016
Absolute difference of two imagescollapse
Z = imabsdiff(X,Y)
About best selection method for image differences
Compare differences between images
h = imshowpair(A,B)
a lot of useful links
https://www.researchgate.net/post/Differences_between_two_images_in_MATLAB

Community Treasure Hunt

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

Start Hunting!

Translated by