writevideo/VideoWriterのフレーム数のエラー
30 views (last 30 days)
Show older comments
writevideo/VideoWriter関数を使って、出力した連続の画像を動画にしたいと考えています。
しかし、以下の文のようなエラーが出ます。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
警告: ビデオの幅および高さが、H.264 コーデックで必要な 2 の倍数になるようにパディングされました。
使い方によるエラー VideoWriter/writeVideo
フレームは 1752 x 258 でなければなりません
エラー: make_video (行 7)
writeVideo(v, Movie(frame).cdata)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
動画を書き込むコードは以下の通りです。
どこが間違っているか教えていただければ幸いです。
%動画書き込み方法
v = VideoWriter('movie_sim_flow_dego_1','MPEG-4');
open(v)
%numが入らないように設定
for frame = 1:num_frame
writeVideo(v, Movie(frame).cdata)
end
close(v)
>>
0 Comments
Accepted Answer
Atsushi Ueno
on 21 Sep 2022
Movie(1).cdataからMovie(num_frame).cdataまでのどこかにサイズの異なるフレームが含まれていると思います。
for文中にsize(Movie(frame).cdata)と書いて、フレームのサイズが途中で変わっていないか確認してみてください。
フレームサイズが???? x ???⇒1752 x 258に変更されていますが、入力するフレームサイズに変化が無ければ全て同じ2の倍数(1752 x 258)に変更されるので、エラーの前に出た警告は問題ではないと思います。
0 Comments
More Answers (0)
See Also
Categories
Find more on オーディオとビデオ 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!