MATLAB Function Reference | ![]() ![]() |
表示
F = getframe F = getframe(h) F = getframe(h,rect) [X,Map] = getframe(...)
詳細
は、ムービーフレームを出力します。フレームは、カレント axes、またはフィギュアのスナップショット(pixmap)です。getframe
F = getframe
は、カレント axes からフレームを取得します。
F = getframe(h)
は、ハンドル番号 h
で識別されるフィギュア、または、axes からフレームを取得します。
F = getframe(h,rect)
は、pixmapをコピーする長方形の領域を設定します。rect
は、ピクセル単位で、フィギュア、または、axes のハンドル h
の左下隅から測ります。rect
は、[left bottom width height]
の型をした4要素ベクトルで、width
と height
は、長方形の大きさを定義します。
は、2つのフィールドをもつ構造体であるムービーフレームを出力します。F = getframe(...)
cdata
- イメージデータは、unit8 値の行列としてストアされます。F.cdata
の次元は、height-width-3 です。colormap
- カラーマップは、倍精度のn 行 3列の行列としてストアされます。F.colormap
は、トゥルーカラーシステムでは、空になります。F = getframe(gcf); image(F.cdata) colormap(F.colormap)
[X,Map] = getframe(...)
は、インデックス付きイメージ行列 X
とカラーマップ Map
を戻します。このバージョンは、以前のバージョンとの互換性をもたせるために用意しているもので、将来削除されます。インデックス付きイメージは、トゥルーカラー表示を常に捕らえるわけでないので、getframe
の単出力引数の型を使ってください。MATLAB の以前のバージョンと互換性をもつコードを記述して、トゥルーカラーサポートを利用できるようにするには、つぎのアプローチを使ってください。
F = getframe(gcf); [X,Map] = frame2im(f); imshow(X,Map)
注意
通常、getframe
は、movie
を使って、プレーバック用にムービーフレームの配列を集めるには、for
ループの中で使います。たとえば、つぎのように行います。
for j = 1:n
plotting commands
F(j) = getframe;
end
movie(F)
MATLAB の以前のバージョン(Release 11/MATLAB 5.3 以前)との互換性をもつムービーを作成するため、つぎのアプローチを行います。
M = moviein(n);
for j = 1:n
plotting commands
M(:,j) = getframe;
end
movie(M)
領域の確保
F = getframe;
は、カレント axes の内容を出力しますが、軸のラベル、タイトル、刻みのラベルを含んでいないことに注意してください。F = getframe(
gcf
);
は、カレントフィギュアウインドウの内部全体を捉えます。フィギュアウインドウメニューを取り込むには、メニューを含む長方形を使った F = getframe(h,rect)
の型を使ってください。
例題
Z = peaks; surf(Z)
axis
tight set(gca,'nextplot','replacechildren'); for j = 1:20 surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end movie(F,20) % 12回ムービーを実行します。
参考
getframe
, frame2im
, image
, im2frame
, movie
, moviein
![]() | getfield | get (serial) | ![]() |