edit-error in calculating dsit

1 次查看(过去 30 天)
I have the matrices as below
A1=Ds(121:140, 121:140, 1:7)
A2=Ds(121:140, 121:140,7)
plz tell how to find the euclidean distance ,like in my previous post

采纳的回答

Junaid
Junaid 2012-2-5
Well I guess you want to get single scalar value as distance of A2 for each Chanel in A1. If so then I try to do in steps. There are multiple ways but I would do like this.
First i will make A2 as single column vector
n_A2 = A2(:);
then I will make one matrix by A1, where each column is one image.
n_A1 = zeros(length(n_A2), size(A1,3)); % this creates matrix of rows as length of and columns are equal to number of images in A1
for i=1:size(A1,3)
t= A1(:,:,i);
n_A1(:,i) = t(:);
end
and Finally now compute the Euclidean distance n_A2 with all images in n_A1
A= repmat(n_A2,1,size(n_A1,2));
E_distance = sqrt(sum((A-n_A1).^2));
Now E_distance contains the output distance. There must be one value 0 as you are taking query image from the same pool of images.
I wish it works for you. I executed this on small example. Once you get A1 and A2 from Ds. then copy paste the following code below. It is the same code written above.
n_A2 = A2(:);
n_A1 = zeros(length(n_A2), size(A1,3));
for i=1:size(A1,3)
t= A1(:,:,i);
n_A1(:,i) = t(:);
end
A= repmat(n_A2,1,size(n_A1,2));
E_distance = sqrt(sum((A-n_A1).^2));

更多回答(1 个)

Junaid
Junaid 2012-2-5
Could you please tell what is Ds ? for simplicity make Ds random matrix and then simplify your questions.

类别

Help CenterFile Exchange 中查找有关 Feature Detection and Extraction 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by