how do i compare my test image with the one in my database using euclidean distance?

1 view (last 30 days)
how do i compare my test image with the one in my database using euclidean distance?

Answers (2)

Akihumi
Akihumi on 8 May 2020
Edited: Akihumi on 8 May 2020
I assume that you have RGB images.
Do you mean that you want to compute the euclidean distance of the pixes at same location on different images?
If yes, you may try the following
a = imread['image1']; % first image
b = imread['image2']; % second image
c = double(a-b); % difference of each pixel
d = sqrt(c(:,:,1)^2 + c(:,:,2)^2 + c(:,:,3)^2); % compute with formula of euclidean distance
  3 Comments
Akihumi
Akihumi on 9 May 2020
It is ok to ask here also, so others can also check my answer and suggest/comment on it
Afiqah Zafrullah
Afiqah Zafrullah on 9 May 2020
i was asked to find the average of all array values n compare it with the average of the average value of the reference array then assign the character to the minimum value. i dont know how this work since im new to matlab and have no one else to refer

Sign in to comment.


Image Analyst
Image Analyst on 9 May 2020
Try this:
theMean = mean(allArrayValues) % Take the mean of all elements in variable allArrayValues
refMean = mean(yourReferenceArray(:)) % Get mean of reference values.
minValue = min([theMean, refMean]); % Get the minimum of the values.
% No idea what "assign the character to the minimum value" means, but maybe this:
theCharacterValue = minValue; % assign the character to the minimum value

Community Treasure Hunt

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

Start Hunting!