Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

calculating euclidean distance

Asked by FIR

FIR (view profile)

on 17 Feb 2012
Latest activity Edited by Mei

Mei (view profile)

on 15 Oct 2013

I have a dataset of images(175images),i have found the mean of that and have saved,next i have query image from dataset,now i want to calculate euclidean distance and want to retrieve that image,

i did

for n=1:175; Distance=EuD( Features{1,n},FeaturesQuery); D{n}=Distance;

end

i get error as

Cell contents assignment to a non-cell array object.

Error in ==> MAIN at 116 D{n}=Distance; please help

Features=<1x175 cell>

FeaturesQuery=104.8872

please help

0 Comments

FIR

FIR (view profile)

Tags

Products

No products are associated with this question.

2 Answers

Answer by Tom Lane

Tom Lane (view profile)

on 17 Feb 2012

It is likely that you have assigned D to some value, perhaps a plain numeric value, earlier in the function. So it is not a cell array, and you can't assign into it using cell array notation. Just before you start the loop in which you want to assign into cells of D, try inserting either of the following lines:

clear D
D = cell(1,175);

0 Comments

Tom Lane

Tom Lane (view profile)

Answer by Image Analyst

Image Analyst (view profile)

on 17 Feb 2012

I just did this:

for n=1:175
	Distance=10; %EuD( Features{1,n},FeaturesQuery); 
	D{n}=Distance;
end

and it ran fine. I didn't even preallocate D to be a cell array of length 175. No errors or warnings whatsoever. Now, we don't know what EuD returns but I thought you could toss anything you wanted into a cell so I'm not sure why the "D{n}=Distance" line would complain, regardless of what class type Distance was. Let me ask you, what class type and/or value does Distance have?

6 Comments

FIR

FIR (view profile)

on 17 Feb 2012

I ran i get same error

Cell contents assignment to a non-cell array object.

i am using r2010a

Image Analyst

Image Analyst (view profile)

on 17 Feb 2012

I don't think you did run my code, or you would not have gotten the error. I think Tom Lane has hit the nail on the head. Just change 75 to 175 in his code and try it.

FIR

FIR (view profile)

on 18 Feb 2012

Yesterday ur code did not work,but now its working,may be i have not used clear D ,i have extracted features of 40 images and stored,and gave a taken query image ,and have extracted same features,now i want to compare those and if it is from same dataset ,the retrieved image and query image must be displaed,if it not from same dataset ,"Image not found "

Image Analyst

Image Analyst (view profile)

Contact us