storing data into a vector within nested for loop
1 view (last 30 days)
Show older comments
im = imread(im);
im = im2bw(im);
s = size(im);
xtot = s(2);
ytot = s(1);
for xcount = 1:xtot,
for ycount = 1:ytot,
if im(ycount,xcount) == 1
sqrt((xcount-coord(2)).^2+(ycount-coord(1)).^2)
end
end
end
end
bear with me, since i'm new to matlab.
i'm making this function to quickly calculate distances from a particular object to a known coordinate. i turned the object image into black and white, read the dimensions, then iterated along the image matrix searching for 1s (which are a part of the object). then i use the coordinates that come up as 1s and measure distance to the known coordinate. i need to store all the distances in one vector so i can take the minimum. input arguments were the image and the 2d coordinate. thanks for your help.
0 Comments
Accepted Answer
Titus Edelhofer
on 19 Mar 2012
Hi,
usually I would not use a loop for this kind of operations: do the following instead:
[Xcount, Ycount] = meshgrid(1:xtot, 1:ytot);
distance = sqrt((Xcount-coord(2)).^2 + (Ycount-coord(1)).^2);
Now the matrix "distance" contains all distances...
Titus
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!