Acquire images in loop and save as different name

1 view (last 30 days)
Hey,
I'm running a for loop where I acquire images from my webcam using snapshot(). Through each iteration of the loop, I'd like to have each image have a different name so I can look at them all at the end, without the previous ones being overwritten.
I do NOT want to save them to the disk, just a different name in the script, and I have no idea how to do this.
Hope you guys can help! :)
Thanks!

Accepted Answer

Stephen23
Stephen23 on 4 Jul 2016
Edited: Stephen23 on 4 Jul 2016
Simply put the frames into a cell array:
C = {};
for ... % your loop
C{end+1} = snapshot(...);
end
And then use indexing to access them. Simple!
Creating new variables dynamically is slow and buggy:
  2 Comments
simon
simon on 4 Jul 2016
Thanks, thought I had tried that... Was using these [] instead of these{}... stupid mistake
Thanks again! :)
Image Analyst
Image Analyst on 4 Jul 2016
Sometimes it's tricky to figure out when to use braces, parentheses, or brackets. We try to explain it in the FAQ entry on cell arrays: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!