how do i get a webcam to capture an image and store the image in a folder and continuously do so while changing the file name for each new image?

5 views (last 30 days)
this is what i have tried to use so far to save captured image but it hasnt worked...
counter = 1;
baseDir = 'C:\Users\Nakk\Documents\MATLAB';
baseName = 'Nakk_'; %Nakk is the name i have chosen for the image files
newName = [baseDir baseName num2str(counter) '.jpg'];
while exist(newName,'file')
counter = counter + 1;
newName = [baseDir baseName num2str(counter) '.jpg'];
end
imwrite(img, newName);
  2 Comments
vasundra wazir
vasundra wazir on 16 Apr 2020
can u help me the code. i want to crop the image in gui and save the image in the folder but its nit showing in the axes the image and is not saving in folder. kindly help me with this . its important.
hold on
for i=1:size(bbox,1)
rectangle('position', bbox(1,:), 'Linewidth', 5,' Linestyle', '-','Edgecolor','r');
end
hold off
N=size(bbox,1);
handles.N=N;
counter= 1;
for i=1:N
Face=imcrop(img,bbox(i,:));
axes(handles.axes2);
imshow(Face);
savenam= strcat('E:\matlab\Face Recognition & Image Processing System\R_TrainDatabase', num2str(counter));
baseDir = 'E:\matlab\Face Recognition & Image Processing System\R_TrainDatabase';
newName = [ baseDir savenam num2str(counter) ' .jpg'];
handles. face= face;
while exits(newName, 'file')
counter = counter +1;
newName = [baseDir num2str(counter) '.jpg'];
end
face= imresize(face, [140 180]);
Fac=rgb2gray(face);
imwrite(Fac, newName);
axes(handles.axes2);
imshow(Face);
end
Walter Roberson
Walter Roberson on 17 Apr 2020
savenam= strcat('E:\matlab\Face Recognition & Image Processing System\R_TrainDatabase', num2str(counter));
That already has counter as part of it, and then you put the counter in again
newName = [ baseDir savenam num2str(counter) ' .jpg'];

Sign in to comment.

Accepted Answer

Jan
Jan on 24 Mar 2014
Edited: Jan on 24 Mar 2014
Notice that your baseDir does not end with a file separator, such that Matlab checks for the files "C:\Users\Nakk\Documents\MATLABNakk_1.jpg" etc.
Better use fullfile instead of the concatenation of the path with [ and ]:
newName = fullfile(baseDir, sprintf('%s%d.jpg', baseName, counter));
I prefer sprintf instead of num2str for such cases.
  1 Comment
Nakk Mungofa
Nakk Mungofa on 25 Mar 2014
Edited: Nakk Mungofa on 25 Mar 2014
oh wow thanks! all the images i was capturing were going into the documents folder and saved as MATLABNakk_1!instead of the MATLAB folder... (its always the smallest details)
alrite thanks for the heads up will try using sprintf

Sign in to comment.

More Answers (1)

karem nessem
karem nessem on 29 Mar 2017
the iamge isn't save ..just black

Products

Community Treasure Hunt

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

Start Hunting!