edit-error in calculating dsit

1 vue (au cours des 30 derniers jours)
kash
kash le 5 Fév 2012
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

Réponse acceptée

Junaid
Junaid le 5 Fév 2012
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));

Plus de réponses (1)

Junaid
Junaid le 5 Fév 2012
Could you please tell what is Ds ? for simplicity make Ds random matrix and then simplify your questions.
  1 commentaire
kash
kash le 5 Fév 2012
DS is an 3d image like cube ,formed from 2d slice

Connectez-vous pour commenter.

Catégories

En savoir plus sur Feature Detection and Extraction dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by