Navigation : Top / Movieの作成

Movieを作る

方法1

figure(1);clf for i=1:nt

   h=surf(X,Y,Z);
   M(i) = getframe(gcf);

end movie2avi(M,'movie')

もう少し本格的

AVIフォーマットのファイルは,version 6.0より利用できるようになりました.

例) 
ix_size_movie = 640;
iy_size_movie = 480;
for it=1:nt 
 if it == 1 
  figure(1); clf;
  set(gcf,'position', ... 
  [0 画面のたてサイズ-iy_size_movie ix_size_movie iy_size_movie]); 
  *** 書きたい図 ***; 
  axis([x_min x_max 0 y_max]) 
  M = moviein( nt ); 
  axis manual 
  set(gca,'nextplot','replacechildren') ; 
  %単位をpixelに
  set(0,'Units','Pixels') 
  hsize = get(gcf,'Position'); 
 end 

 *** 書きたい図 ***; 
 M(:,it) = getframe( gcf, [0 0 hsize(3) hsize(4)] ); 
end 
movie2avi( M, file_name ); 

movieは画面の左上からの領域を保存するので,"set(gcf,'Position',[x1 x2 y1 y2])"で場所を確定しないとちゃんと作れません.

movie2aviで作られるmovieは非圧縮なのでtmpgenc(http://www.tmpgenc.com/)でmpegにすると1/10〜1/30のサイズになります.

movieを保存する.

   movie2avi(M,cname,'COMPRESSION','Cinepak','QUALITY',90)

mpegを直接作る

つぎに直接MPEGファイルにする方法ですが、MATLABでは正式にはMPEG ファイルをサポートしていません。しかし、開発元のftpサイトに MPEGフォーマットでデータの書き込 み・読み込みをするための ファイルが提供されていますので、そちらをダウンロードしてお 使いください。

URL