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

1 Ansicht (letzte 30 Tage)
how do i compare my test image with the one in my database using euclidean distance?

Antworten (2)

Akihumi
Akihumi am 8 Mai 2020
Bearbeitet: Akihumi am 8 Mai 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 Kommentare
Akihumi
Akihumi am 9 Mai 2020
It is ok to ask here also, so others can also check my answer and suggest/comment on it
Afiqah Zafrullah
Afiqah Zafrullah am 9 Mai 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

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 9 Mai 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!

Translated by