How to save a sequence of images into a specific folder

21 ビュー (過去 30 日間)
Tharima Ferdausi
Tharima Ferdausi 2021 年 3 月 3 日
移動済み: Stephen23 2023 年 2 月 14 日
Hi,
I made this code for capture multiple images for every second and I wanted to automatically save all my images into a specific folders without directly going to the folder from the directory. 'ImageFolder' show the folder-Image Saving Test that I want to save the images in. However, it does not work and put images in whatever folder is shown in the 'Current Folder' in the directory. I try using save and saveas command but it gave me the same problem. Can someone help me resolve this, please?
ImageFolder ='C:\Users\person\Desktop\ Project\Matlab\Image Saving Test';
for i=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png', i)% name Image with a sequence of number, ex Image1.png , Image2.png....
fullFileName = fullfile(ImageFolder, file_name);
imwrite(img,file_name,'png') %save the image as a Portable Graphics Format file(png)into the MatLab
pause(1); % pause for one second
imshow(img) % display the image for every second
end
  1 件のコメント
Francesco Sgromo
Francesco Sgromo 2023 年 2 月 13 日
Hi,
for sure the imwrite command does not use the fullFileName variable you created or the ImageFolder neither.
In any case, you should make sure the folder exists. In case not you can create it using mkdir command.

サインインしてコメントする。

採用された回答

Tharima Ferdausi
Tharima Ferdausi 2021 年 3 月 3 日
編集済み: Stephen23 2023 年 2 月 14 日
Thank you!!!! I just rearrange my code and replace my fullFileName and imwrite is it can save all the images into a specific folder without doing it twice in the current Folder.
for k=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png',k)% name Image with a sequence of number, ex Image1.png , Image2.png....
%save the image as a Portable Graphics Format file(png)into the MatLab
imgName = fullfile(ImageFolder,file_name) ;
imwrite(img,imgName);
imshow(img) % display the image for every second
pause(1); % pause for one second
end

その他の回答 (1 件)

KSSV
KSSV 2021 年 3 月 3 日
移動済み: Stephen23 2023 年 2 月 14 日
ImageFolder ='C:\Users\person\Desktop\ Project\Matlab\Image Saving Test';
for i=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png', i)% name Image with a sequence of number, ex Image1.png , Image2.png....
fullFileName = fullfile(ImageFolder, file_name);
imwrite(img,file_name,'png') %save the image as a Portable Graphics Format file(png)into the MatLab
pause(1); % pause for one second
imshow(img) % display the image for every second
imgName = [ImageFolder,'\Image_',num2str(i),'.png'] ;
imwrite(img,imgName) ;
end

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by