Clear Filters
Clear Filters

How to save each data from for loop

2 views (last 30 days)
neha gautam
neha gautam on 30 Apr 2018
Commented: dpb on 1 May 2018
I have a for loop(last for loop), but every character overwrites and I have only the final data left.
[L Ne]=bwlabel(imagen);
%%Measure properties of image regions
propied=regionprops(L,'BoundingBox');
hold on
%%Plot Bounding Box
for n=1:size(propied,1)
rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)
end
hold off
pause (1)
%%Objects extraction
figure(3)
for n=1:Ne
[r,c] = find(L==n);
n1=imagen(min(r):max(r),min(c):max(c));
%imshow(~n1);
pause(0.5)
end
  2 Comments
Ameer Hamza
Ameer Hamza on 30 Apr 2018
What is imagen()? Is it your own function. In any case refer to my answer below.
neha gautam
neha gautam on 30 Apr 2018
imagen() is a variable which store the matrix of image.

Sign in to comment.

Accepted Answer

dpb
dpb on 30 Apr 2018
Easiest solution is to save each in cell array since the subsets can all be differing sizes can't just store as planes in 3D array...
IMAGES=cell(Ne,1); % create a cell array of proper size
for n=1:Ne
[r,c] = find(L==n);
IMAGES(i)={imagen(min(r):max(r),min(c):max(c))}; % store each 2D array in nth cell
%imshow(IMAGES{n});
pause(0.5)
end

More Answers (1)

Ameer Hamza
Ameer Hamza on 30 Apr 2018
Edited: Ameer Hamza on 30 Apr 2018
Change your last for loop as follow
n1 = []
for n=1:Ne
[r,c] = find(L==n);
n1 = [n1 imagen(min(r):max(r),min(c):max(c))];
%imshow(~n1);
pause(0.5)
end
n1 will save all the values.
  8 Comments
neha gautam
neha gautam on 1 May 2018
Thank you so much for your valuable advice. I would like to go with your suggestions.
dpb
dpb on 1 May 2018
You have my permission to do so, yes... :)
Good plan to follow "best practices" in avoiding these kinds of what_seem_so_easy_to_do techniques, but the short-term gratification leads to longer-term misery when get to anything but the most trivial of applictions--best to learn to avoid altogether while learning; then with time one can recognize when it is time to break the rule for a specific purpose (altho that's not that common, it does occur).

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!