i have a capturing GUI, how do I save each image i capture in camera?
Show older comments
this is the function button of capsave which get a snapshot of the camera then save the image.. how do i save the image every time I captured?
function capsave_Callback(hObject, eventdata, handles)
% hObject handle to capsave (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.ss,'string','start');
load('pass_val_cam.mat', 'vid');
wa = getsnapshot(vid);
axes(handles.snap_shot);
imshow(wa);
newName = sprintf('.jpg');
imwrite(wa,['FINALS\' newName,]);
%disp(image_val);
% pause(ntrvl);
clc;
a
Accepted Answer
More Answers (3)
john john
on 17 Jan 2012
0 votes
5 Comments
Walter Roberson
on 17 Jan 2012
Use the techniques shown in the link above to dynamically construct the file name to write to.
john john
on 17 Jan 2012
Walter Roberson
on 17 Jan 2012
Near the top of your callback:
persistent imgnum
In the part of your callback where you construct newName:
imgnum = imgnum + 1;
newName = sprintf('snapshot%04d.jpg');
This will save in files named beginning with "snapshot" followed by a 4 digit number (with leading zeros), with ".jpg" extension.
john john
on 17 Jan 2012
Walter Roberson
on 17 Jan 2012
The
persistent imgnum
defines imgnum.
There is a small bug in what I wrote, though: after the "persistent" command, add
if isempty(imgnum); imgnum = 0; end
(This is not a fix to imgnum not being defined; that is the job of the "persistent" that needs to be in your callback.)
john john
on 18 Jan 2012
0 votes
2 Comments
Chandra Kurniawan
on 18 Jan 2012
before line
imwrite(wa,['FINALS\' newName,]);
just write :
wa = imresize(wa,scale);
'scale' is scalar.
john john
on 19 Jan 2012
Categories
Find more on Image Preview and Device Configuration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!