foldernameに格納したファイル名をsaveasに対応させたいです。このコードなら150度という名でsaveasに入れたいです。
19 views (last 30 days)
Show older comments
clear;
close all;
%foldername = "フォルダ名";
foldername = "150度";
im_list=dir(foldername);%フォルダ内のデータのリスト化%
file_name = {im_list.name};
file_name = file_name(~ismember(file_name, {'.', '..'}));
for n = 1:size(file_name, 2)
I = imread(fullfile(foldername, file_name{n}));
if n <= 11
subplot(4, 5, n);
imshow(I)
title(file_name{n})
sgtitle(foldername)
elseif n == 12
subplot(4, 5, n);
imshow(I)
title(file_name{n})
sgtitle(foldername)
saveas(gcf,'foldername.jpg')
elseif n <= 24
subplot(4, 5, n-12);
imshow(I)
title(file_name{n})
sgtitle(foldername)
end
end
0 件のコメント
0 Comments
Answers (1)
Atsushi Ueno
on 27 May 2023
>foldernameに格納したファイル名をsaveasに対応させたいです。このコードなら150度という名でsaveasに入れたいです。
⇒ folderame は string 型なので ”+” 演算子を用いて他の型と結合させる事が可能です。質問のプログラムを(image processing toolbox のサンプルJPG画像枚数33枚を対象に)動かしてみたところ、12枚のサムネイル画像を作成後foldernameに格納したファイル名で保存、その後13~24枚目のサムネイル画像を作成、といった結果になりました。
clear;
close all;
foldername = "150度"; %foldername = "フォルダ名";
copyfile('/MATLAB/toolbox/images/imdata/*.jpg',[pwd filesep convertStringsToChars(foldername)]);
im_list=dir(foldername);%フォルダ内のデータのリスト化%
file_name = {im_list.name};
file_name = file_name(~ismember(file_name, {'.', '..'}));
for n = 1:size(file_name, 2)
I = imread(fullfile(foldername, file_name{n}));
if n <= 11
subplot(4, 5, n);
imshow(I)
title(file_name{n})
sgtitle(foldername)
elseif n == 12
subplot(4, 5, n);
imshow(I)
title(file_name{n})
sgtitle(foldername)
saveas(gcf,foldername+".jpg"); % saveas(gcf,'foldername.jpg')ここを変更
elseif n <= 24
subplot(4, 5, n-12);
imshow(I)
title(file_name{n})
sgtitle(foldername)
end
end
ls
figure;
imshow(imread("150度.jpg"));
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices 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!
