5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MATLABでかんたん動画作成

Last updated at Posted at 2020-07-20

#MATLABでかんたん動画作成

##はじめに
MATLABで動画作ってTwitterに上げたい! みたいな動機で、MATLABで動画を作成してmp4に書き出すことをやってみました。
その時のコードを備忘録もかねてこちらにまとめておきます。
この例ではバーバーポール(美容室にあるやつ)もどきを3Dで作製して連続表示しています。

##できるもの
これがくるくる回ります。
かわいいね!
barbarpole.jpg

##コード


figure();

% 表示する図の準備
t = (0:0.1:10);
f = 1;
% 余談ですがMATLABだとiは虚数なのでiiを使っています
for ii = (0:0.3:6)

    for jj = (0:0.02:1.6)
        plot3(cos(t-ii+jj), sin(t-ii+jj), t*2, 'r-');
        plot3(cos(pi/2+t-ii+jj), sin(pi/2+t-ii+jj), t*2, 'w-');
        plot3(cos(pi+t-ii+jj), sin(pi+t-ii+jj), t*2, 'b-');
        plot3(cos(3*pi/2+t-ii+jj), sin(3*pi/2+t-ii+jj), t*2, 'w-');
        hold on;
    end

hold off;
grid on;
xlim([-3 3])
ylim([-3 3])

% 今回はなくても問題ないです
drawnow;

% getframe()でも動いて、その場合はまた少し違った図になります
% が、途中で表示範囲を変えたりするとエラー吐くのでgetframe(gcf)の方が安全だと思っています
myMovie(f) = getframe(gcf);

f = f+1;
end

% 好きな形式で書き出し
% 保存場所はコードと同じ場所です
v = VideoWriter('myMovie.mp4', 'MPEG-4');
% ゆっくり表示したかったのでフレームレートを初期値より下げています
v.FrameRate = 10;
open(v);
writeVideo(v, myMovie)
close(v);

##おわりに
いかがでしたか??
MATLABは動画作成ソフトではありません。

5
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?