Main Content

im2frame

イメージをムービー フレームに変換

説明

F = im2frame(RGB) は、トゥルーカラー イメージ RGB をムービー フレーム F に変換します。

F = im2frame(X,map) はインデックス付きイメージ X および関連カラーマップ map をムービー フレーム F に変換します。

F = im2frame(X) は現在のカラーマップを使用してインデックス付きイメージ X をムービー フレーム F に変換します。

すべて折りたたむ

マンドリルの顔のインデックス付きイメージを読み込みます。

load mandrill

220 色の関連カラーマップ map を使用してイメージ X を表示します。

figure
image(X)
colormap(map)
axis off

Figure contains an axes object. The hidden axes object contains an object of type image.

イメージの色数を削減する効果を示すムービーを作成します。ムービー フレームは、合計で 8 つあります。ムービー フレームを保存する構造体の配列を事前に割り当てます。

F(8) = struct('cdata',[],'colormap',[]);

ループで、関数 imapprox を使用してインデックス付きイメージ内の色数を削減します。関数 im2frame を使用してイメージをムービーのフレームに変換します。最初のフレームが、220 色すべてを含む元のイメージです。2 番目のフレームには 128 色が含まれます。連続する各フレームでは、色数が半分になります。最後のフレームでは、最も少ない色数の 2 になります。

for j = 1:8
    q = 2^(9-j);
    [Y,newmap] = imapprox(X,map,q,'nodither');
    F(j) = im2frame(Y,newmap);
end

3 フレーム/秒のフレーム レートでムービーを 2 回再生するには、movie(F,2,3) を使用します。

入力引数

すべて折りたたむ

トゥルーカラー イメージ。m×n×3 の数値配列として指定します。データ型 double のイメージを指定する場合、値は [0, 1] の範囲でなければなりません。

データ型: double | uint8

インデックス付きイメージ。mn 列の整数行列として指定します。

データ型: double | uint8

インデックス付きイメージ X に関連付けられたカラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として指定します。map の各行は、カラーマップの各色を構成する赤、緑、青の成分を指定する RGB 3 成分です。

データ型: double

出力引数

すべて折りたたむ

ムービー フレーム。次の 2 つのフィールドをもつ構造体として返されます。

  • cdatauint8 型の値の配列として格納されるイメージ データ。

  • colormap — カラーマップ。トゥルーカラー (RGB) イメージの場合、このフィールドは空です。

バージョン履歴

R2006a より前に導入