ディレクトリの下の階層も全て含めてmatlabに読み込ませるには?
Show older comments
プログラミング初心者です。
matlabで画像処理を行なおうと思っており、ディレクトリを(画像等が入っている)下の階層含め、すべて読み込ませようと思ったのですが、どうやらうまくいっていないようです。
.mファイルのみ読み取ることができて、matlab上でコードを書けるのですが、画像等も読み込ませる必要がございますので、ご教示頂けますと幸いです。
Accepted Answer
More Answers (1)
Shunichi Sekiguchi
on 1 Feb 2019
ディレクトリごと読み込ませるために
また画像を読み込む際は
が参考になるかと思います.
impreadをして画像を読み込む際,Pathが必要になります.
Pathというのは,実行するmファイルから,その画像までの移動するフォルダの名前になります
例えば,mainフォルダの下にAというフォルダがあったとします.
そしてその中にa.pngがあったとすると,
% まずこれでmain foldの中のa, bが見える
dir main
% main folderの中を取得
MainFolderInfo = dir('main')
% 配列構造で入っているので
% 以下のような感じ
% {'.'; '..'; 'A'; 'B'}
% folderの名前を取得
FolderName = MainFolderInfo(3).name
% 名前の足し算
path = strcat('main/', FolderName)
% folder Aの情報を取得
AFolderInfo = dir(path)
% これも先ほどと同様に見えるので
% 以下のような感じ
% {'.'; '..'; 'a.jpg'}
% よって3番目から名前を取得する
img_name = AFolderInfo(3).name
img_path = strcat( path, '/', img_name)
imread(img_path)
で読み込むことができます.
もし,画像の名前を連番等にしている場合はわざわざこのようなことをしなくてもそのdataまでのPathを指定してあげればfor文等でまとめて読み込めます.
% main/Aの中の1.png ~ 100.pngを読み込む場合
for c = 1:100
% pathの指定
img = imread(strcat('main/A/', num2str(c), '.png'))
end
1 Comment
Categories
Find more on Simscape Electrical 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!