1次元の偏微分方程式の解を格納した
uという100×Nの行列があるのですが,
このuの1行目から最後の行までのそれぞれの行ベクトルを
順に表示させたいと考えています.
つまり,アニメーションのように時間発展を表示させたいと考えています.
(今までは単にwaterfallなどを使って表示していました)
そこで,以下のように試してみました.
>>hold on;
M = moviein(100);
for j = 1:100
waterfall(u(j,:));
view([44 62]);
M(:,j) = getframe;
end
hold off;
>> movie(M)
としてみたところ,正常にアニメーションが表示されました.
次に
>> movie2avi(M,'sample.avi')
として,aviファイルとしてアニメーションを保存したのですが,
保存されたファイルを再生してみると,ファイルが斜めいたりしており,
正常にアウトプットされていませんでした.
上手く保存するやり方をご存知の方,ご教授ください.
No.1
- 回答日時:
matlab の movie2avi は,windows XP 32bit で matlab2007 くらいまでは動いてましたが,
その後は,codex が無いとかエラーはきまくりでした.
OS は, windows で良いのでしょうか?
png に保存して ffmpeg というフリーソフトで avi 作った方がましです.
FIG フォルダをすぐ下に作る
for j = 1:100
waterfall(u(j,:));
view([44 62]);
print('-dpng',['FIG/FIG',num2str(j,'%04d'),'.png']);
end
で FIG フォルダに FIG0001.png から連番で FIG0100.png まで画像ファイルができます.
あとは,FIG フォルダに ffmpeg を入れて cmd から,
ffmpeg -r 10 -i "FIG%04d.png" -vcodec mjpeg -sameq out.avi
とうてば,out.avi という動画ができます.
-r 10 は 1秒間に 10 画像です.
ありがとうございます.
そのような不具合についてはまったく知りませんでした.
教えて頂き本当にありがとうございます.
ちなみにOSはlinuxなので,windowsとは違うかもしれませんが,
現状ではご指摘のようにエラーが見られるので,
フリーソフトを試してみようと思います.
No.2
- 回答日時:
avi形式のファイルで保存することを考えなければ
gif形式でimwriteという手もありますかね。
http://www.mathworks.co.jp/help/ja_JP/techdoc/re …
WriteModeをappendにすることでgifアニメーションファイルが作れます。
コマおくりはDelayTimeで調整する感じで。
movie2aviはいっかい画像全部を変数として持つ形になるので
コマ数が増えると対応できないんですよね…
お望みの答えではないかも知れませんが。
参考になれば幸いです。
ありがとうございます!
>>hold on;
M = moviein(100);
for j = 1:100
waterfall(u(j,:));
view([44 62]);
M(:,j) = getframe;
end
hold off;
>> movie(M)
>> imwrite(M,'sample','gif')
としてみたのですが,以下のようにエラーが出ました・・
このデータ構造だとMは保存できないのでしょうか・・・?
??? Error using ==> imwrite>validateSizes at 596
Unsupported image datatype 'struct'.
Error in ==> imwrite at 422
validateSizes(data);
No.3ベストアンサー
- 回答日時:
A No.2のKulesです。
>> imwrite(M,'sample','gif')
Mは100行の配列ですよね?
imwriteは「画像を一枚書き込む」ための関数なので、
配列で保存された画像を一度に保存することはできなかったような気がします。
(そもそも私がimwriteを提案するのは、「画像サイズやループ回数によってメモリ不足になるのを回避するため」なので、
ループ中の画像データを一度全て持つ形で使うことは考えていません)
使うとしたら、
一度目は
imwrite(画像データ、'ファイル名','gif');
で二度目以降は
imwrite(画像データ、'ファイル名','gif','writemode','append');
という感じでしょうか。
そういえば昔gifじゃなくてavi形式でも同じようにやってたなあ…と思い過去のファイルを漁ってたら見つかりました。
aviobj=avifile('sample.avi');
でsample.aviにアクセスするためのファイルポインタ(のようなもの?)が作られるので、
後はループ内で
addframe(aviobj,一枚分の画像データ);
とすることでメモリ不足を気にすることなくaviファイルを作ることができます。
参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのAltを押すと「自動保存」「上書き保存」・・・に白抜きの「1」「2」・・・が出る。 2 2023/08/11 11:39
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
原点にして頂点と言ったのはだ...
-
チー牛ってなんで性格が悪い奴...
-
この元ネタが分かる方いませんか?
-
首のない天使について何でもい...
-
太陽フレアが到達するようです ...
-
ドラゴンボールGTの最後のナレ...
-
小学生向け笑える話、面白い話...
-
Power Pointで1クリックでひと...
-
アニメ、金田一少年の事件簿の...
-
まんが日本昔ばなしのOPの歌を...
-
私の言った事を、あたかも自分...
-
「こと」の使い方。
-
私は男ですが車に興味がないの...
-
自衛隊の通信、「○○○、オクレ。...
-
自衛隊用語「状況開始」を最初...
-
男でストッキングを履くのが好...
-
パワーポイント「スライドショ...
-
なんで男の子だけテレビで裸映...
-
gif画像をエクセルのシートに貼...
-
タイトルが三文字以内のアニメ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チー牛ってなんで性格が悪い奴...
-
この元ネタが分かる方いませんか?
-
ドラゴンボールGTの最後のナレ...
-
原点にして頂点と言ったのはだ...
-
小学生向け笑える話、面白い話...
-
Power Pointで1クリックでひと...
-
はじめの一歩の第2期で久美の...
-
gif画像をエクセルのシートに貼...
-
男でストッキングを履くのが好...
-
自衛隊の通信、「○○○、オクレ。...
-
黒執事2期を見た方に質問です。
-
「こと」の使い方。
-
ハイキュー‼の漫画についてです...
-
ドラゴンボール悟空「きもちわ...
-
ガリバーボーイは何故ビデオテ...
-
タイトルが三文字以内のアニメ
-
私の言った事を、あたかも自分...
-
自衛隊用語「状況開始」を最初...
-
日本産アニメなのに反日的な内...
-
パワーポイント「スライドショ...
おすすめ情報