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?

7 次查看(过去 30 天)
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 个评论
vasundra wazir
vasundra wazir 2020-4-16
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 2020-4-17
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'];

请先登录,再进行评论。

采纳的回答

Jan
Jan 2014-3-24
编辑:Jan 2014-3-24
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 个评论
Nakk Mungofa
Nakk Mungofa 2014-3-25
编辑:Nakk Mungofa 2014-3-25
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

请先登录,再进行评论。

更多回答(1 个)

karem nessem
karem nessem 2017-3-29
the iamge isn't save ..just black

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by