フォルダ内の複数枚存在する画像の操作

25 次查看(过去 30 天)
daisuke shuugisono
daisuke shuugisono 2018-3-29
MATLABを使って複数枚画像が入っているフォルダの中から更新日時が一番新しい画像のみを読み込みたいです。 直接新しい画像のみ読み込めない場合はフォルダの中をソートしても構いません。 なにか手段はありますか? よろしくお願い致します。

采纳的回答

Akira Agata
Akira Agata 2018-3-30
もし対象画像の拡張子が決まっている場合は、以下のようにしても更新日時が最新の画像を読み込むことができます。
% カレントフォルダ内の *.jpg ファイル一覧をテーブル形式で取得
fileList = struct2table(dir('./*.jpg'));
% テーブル内の、更新日時が最新の画像の行番号を取得
[~, idx] = max(fileList.datenum);
% 対象画像を読み込み
I = imread(fullfile(fileList.folder{idx},fileList.name{idx}));
  1 个评论
daisuke shuugisono
ご回答ありがとうございます。 読み込みまでの記入ありがとうございました。

请先登录,再进行评论。

更多回答(1 个)

Tohru Kikawada
Tohru Kikawada 2018-3-30
MATLABの table 型を使うとこのようにファイル一覧の操作を行うことができます。ご参考まで。
% ファイル一覧取得
listing=dir(fullfile(matlabroot,'toolbox','matlab','icons'));
% 構造体からtable型に変換
filesTable = struct2table(listing);
% フォルダは除去
validFilesTable = filesTable(~filesTable.isdir,:);
% datenum(日付を表す数値)で降順にソート
sortedFilesTable = sortrows(validFilesTable,...
find(strcmp(validFilesTable.Properties.VariableNames,'datenum')),'descend');
% 上位10個を取り出す
disp(sortedFilesTable(1:10,[1 3]));
実行結果
name date
____________________________________ _____________________
'plotpicker-geobubble.png' '19-7-2017 05:49:38'
'appcontainer.ico' '16-2-2017 00:48:04'
'plotpicker-arx.png' '19-5-2016 23:06:20'
'plotpicker-n4sid.png' '19-5-2016 23:06:20'
'plottype-errorbar-horizontal.png' '12-4-2016 08:11:32'
'plottype-errorbar.png' '12-4-2016 08:11:23'
'plotpicker-errorbar-horizontal.png' '12-4-2016 08:11:06'
'plotpicker-errorbar.png' '12-4-2016 08:10:57'
'plotpicker-graphplot.png' '01-10-2015 03:24:07'
'plottype-graphplot.png' '01-10-2015 03:22:28'
  1 个评论
daisuke shuugisono
ご回答ありがとうございます。 参考にさせていただきます。

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 ファイルの操作 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!