foldernameに格納したファイル名をsaveasに対応させたいです。このコードなら150度という名でsaveasに入れたいです。
Afficher commentaires plus anciens
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 件のコメント
Réponses (1)
>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"));
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
