ディレクトリの下の階層も全て含めてmatlabに読み込ませるには?
显示 更早的评论
プログラミング初心者です。
matlabで画像処理を行なおうと思っており、ディレクトリを(画像等が入っている)下の階層含め、すべて読み込ませようと思ったのですが、どうやらうまくいっていないようです。
.mファイルのみ読み取ることができて、matlab上でコードを書けるのですが、画像等も読み込ませる必要がございますので、ご教示頂けますと幸いです。
采纳的回答
更多回答(1 个)
Shunichi Sekiguchi
2019-2-1
ディレクトリごと読み込ませるために
また画像を読み込む際は
が参考になるかと思います.
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
类别
在 帮助中心 和 File Exchange 中查找有关 Simscape Electrical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!