How to store acquired data of multiple frames from webcam to local storage with any name?

2 views (last 30 days)
for i=1:5
data = getsnapshot(vid);
figure(i);
imshow(data);
filename=sprintf('New.png',i);
imwrite(data,filename)
end
I've tried this but it is not working. I've saved 5 frames in variable "data" and now I want to store it in local storage. How should I do it.

Accepted Answer

Andrey Kiselnikov
Andrey Kiselnikov on 5 Feb 2019
Edited: Andrey Kiselnikov on 5 Feb 2019
You should decide "what" and "how" do you want to store. You can't store five snapshots in one *.png image. You can store this data (your workspace variables) in *.mat (better choice) format https://www.mathworks.com/help/matlab/ref/save.html, or save it as a five different *.png images.
p.s. In your code there are some mistakes! if you wouldlike to save five snapshots from webcam to a different png files you should use this code
wblist = webcamlist;
cam = webcam(wblist{1})
for i=1:5
filename = sprintf('myimage%02d.png', i);
imwrite(snapshot(cam),filename);
end
  4 Comments
Andrey Kiselnikov
Andrey Kiselnikov on 5 Feb 2019
Edited: Andrey Kiselnikov on 5 Feb 2019
Also, if you would like to use this code example "as is" take this version with clearing of the cam object
if exist('cam') ~= 0
clear cam;
end
wblist = webcamlist;
cam = webcam(wblist{1});
for i=1:5
filename = sprintf('myimage%02d.png', i);
imwrite(snapshot(cam),filename);
end
Talha Anwer
Talha Anwer on 5 Feb 2019
I'm highly thankful for this. That was such a minor issue and I wasn't able to spot that.
You've helped a lot. Thank You again.

Sign in to comment.

More Answers (0)

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!