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

11 views (last 30 days)
IGUCHI REI
IGUCHI REI on 26 May 2023
Answered: Atsushi Ueno on 27 May 2023
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 件のコメント

Answers (1)

Atsushi Ueno
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
150度 150度.jpg
figure;
imshow(imread("150度.jpg"));

Categories

Find more on 印刷と保存 in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!