- 1つの動画ファイル内に入っている複数の画像フレーム
- 1つのフォルダに入っている複数の動画ファイルのフレーム
動画ファイルを画像ファイルに
18 views (last 30 days)
Show older comments
ディープラーニングによる画像分類ををしたいです。動画を撮影しそれを画像ファイルに変換したいと考えています。現在困っていることがファイル内に入っている複数の動画をまとめて画像変換したいのですがどのように行えばよろしいでしょうか。
2 Comments
Atsushi Ueno
on 9 Jul 2022
「ファイル内に入っている複数の動画」とは具体的に何ですか?
Accepted Answer
Atsushi Ueno
on 9 Jul 2022
上記の掲載プログラムを改造しました。やっている事は下記の通りです。
- 冒頭で親フォルダ(動画ファイルが入っているフォルダの親)を選択する
- 上記フォルダ下の拡張子が .mp4 の動画ファイルをデータストアに格納
- readall関数で全ての動画ファイルを処理する。
- ファイル データを読み取る関数’ReadFcn’内で下記処理を行う
- ・動画ファイルをVideoReader関数で読み込む
- ・現在のフォルダに動画ファイル名と同名のフォルダを作成しそこに移動する
- ・全ての動画フレームを画像ファイル001.jpg~として上記フォルダ内に保存する
注:必要に応じて拡張子やフォルダ構成を変更してください
selpath = uigetdir(matlabroot,'MATLAB Root Folder'); % 親フォルダを選択する
fds = fileDatastore(selpath,'ReadFcn',@myread,'FileExtensions','.mp4');
data = readall(fds);
function ii = myread(file)
Video = VideoReader(file);
ii = 1;
mkdir(Video.Name);
cd(Video.Name);
while hasFrame(Video)
img = readFrame(Video);
filename = [sprintf('%03d',ii) '.jpg'];
imwrite(img,filename) % Write out to a JPEG file (img1.jpg, img2.jpg, etc.)
ii = ii+1;
end
cd ..
end
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!