writevideo​/VideoWrit​erのフレーム数のエ​ラー

조회 수: 37 (최근 30일)
蓮 出越
蓮 出越 2022년 9월 21일
답변: Atsushi Ueno 2022년 9월 21일
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)
>>

채택된 답변

Atsushi Ueno
Atsushi Ueno 2022년 9월 21일
Movie(1).cdataからMovie(num_frame).cdataまでのどこかにサイズの異なるフレームが含まれていると思います。
for文中にsize(Movie(frame).cdata)と書いて、フレームのサイズが途中で変わっていないか確認してみてください。
フレームサイズが???? x ???⇒1752 x 258に変更されていますが、入力するフレームサイズに変化が無ければ全て同じ2の倍数(1752 x 258)に変更されるので、エラーの前に出た警告は問題ではないと思います。

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!