foldername​に格納したファイル名​をsaveasに対応​させたいです。このコ​ードなら150度とい​う名でsaveasに​入れたいです。

10 ビュー (過去 30 日間)
IGUCHI REI
IGUCHI REI 2023 年 5 月 26 日
回答済み: Atsushi Ueno 2023 年 5 月 27 日
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 件のコメント

回答 (1 件)

Atsushi Ueno
Atsushi Ueno 2023 年 5 月 27 日
>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
150度 150度.jpg
figure;
imshow(imread("150度.jpg"));

カテゴリ

Help Center および File Exchange印刷と保存 についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!