ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imagesc

スケーリングした色によるイメージの表示

構文

  • imagesc(C)
  • imagesc(x,y,C)
  • imagesc(___,clims)
  • imagesc('CData',C)
  • imagesc('XData',x,'YData',y,'CData',C)
  • imagesc(___,Name,Value)
  • imagesc(ax,___)
  • im = imagesc(___)

説明

imagesc(C) は配列 C のデータを、カラーマップの全範囲の色を使用するイメージとして表示します。C の各要素は、イメージの 1 ピクセルの色を指定します。結果のイメージは m x n のピクセルからなるグリッドです。ここで、mC の列数、n は行数です。要素の行と列のインデックスにより、対応するピクセルの中心が決まります。

imagesc(x,y,C) は、イメージの位置を指定します。xy を使用して、C(1,1)C(m,n) に対応する角の位置を指定します。両方の角を指定するには、xy を 2 要素ベクトルとして設定します。一方の角を指定し、他方の角を imagesc で決定するには、xy をスカラー値として設定します。イメージが伸張し、適切に方向付けされます。

imagesc(___,clims) は、カラーマップの最初と最後の要素にマッピングされるデータ値を指定します。clims[cmin cmax] の形式の 2 要素ベクトルとして指定します。ここで、cmin 以下の値はカラーマップの最初の色にマッピングされ、cmax 以上の値はカラーマップの最後の色にマッピングされます。

imagesc('CData',C) は、既存のプロットを置き換えずに、現在の座標軸にイメージを追加します。この構文は、imagesc(C) の低水準版です。詳細は、高水準版と低水準版の違いを参照してください。

imagesc('XData',x,'YData',y,'CData',C) は、イメージの位置を指定します。この構文は、imagesc(x,y,C) の低水準版です。

imagesc(___,Name,Value) は、名前と値のペア引数を 1 つ以上使用して、イメージのプロパティを指定します。イメージのプロパティは、前述の構文に示した任意の入力引数の組み合わせを使用して指定できます。イメージのプロパティと説明の一覧は、Image のプロパティ を参照してください。

imagesc(ax,___) は、現在の座標軸 (gca) ではなく ax で指定された座標軸にイメージを作成します。オプションの ax は、前述の構文のすべての入力引数の組み合わせより前に指定できます。

im = imagesc(___) は、作成された image オブジェクトを返します。イメージの作成後にプロパティを設定するには、im を使用します。この出力は、前述の構文に示した任意の入力引数の組み合わせを使用して指定できます。

すべて折りたたむ

行列 C を作成します。C のデータのイメージを表示します。現在のカラーマップを表示するカラーバーをグラフに追加します。既定では、イメージがカラーマップの全範囲を使用するように imagesc は色の範囲をスケーリングします。この場合、C の最小値がカラーマップの最初の色、最大値が最後の色にマッピングされます。

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

x 軸の 5 ~ 8、y 軸の 3 ~ 6 の範囲を占めるようにイメージを配置します。

x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(x,y,C)

C(1,1) に対応するピクセルの中心は点 (5,3) になります。C(3,4) に対応するピクセルの中心は点 (8,6) になります。imagesc は、この 2 点間に残りのイメージを配置し、方向を設定します。

データ値の配列として C を作成します。C のイメージを作成し、4 以下の値がカラーマップの最初の色にマッピングされ、18 以上の値がカラーマップの最後の値にマッピングされるように色の範囲を設定します。データ値がカラーマップにどのようにマッピングされたかを示すカラーバーを表示します。

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

イメージを作成し、image オブジェクト im を返します。次に、image オブジェクトの AlphaData プロパティを設定してイメージを半透明にします。

C = [1 2 3; 4 5 6; 7 8 9];
im = imagesc(C);

im.AlphaData = .5;

表面プロットを作成します。次に、表面の下方にイメージを追加します。imagesc はイメージを xy 平面に表示します。

Z = 10 + peaks;
surf(Z)
hold on
imagesc(Z)

入力引数

すべて折りたたむ

イメージのカラー データ。ベクトルまたは行列として指定します。C の各要素がイメージの 1 ピクセルの色を定義します。C の要素は、関連付けられている座標軸のカラーマップの色にマッピングされます。C の最小値はカラーマップの最初の色にマッピングされ、最大値は最後の色にマッピングされます。NaN 要素の動作は定義されていません。

代わりに関数 imagesc の低水準版を使用するには、CData プロパティを名前と値のペアとして設定します。たとえば、imagesc('CData',C) のようになります。

データ型間の変換

イメージ データを整数型から double 型に変換するには、1 を加算します。たとえば、X8uint8 型のインデックス付きイメージ データである場合、double 型に変換するには次のようにします。

X64 = double(X8) + 1;

イメージ データを double 型から整数型に変換するには、1 を減算し、確実にすべての値が整数になるように round を使用します。たとえば、X64double 型のインデックス付きイメージ データである場合、uint8 型に変換するには次のようにします。

X8 = uint8(round(X64 - 1));

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

x 軸に沿った配置。次のいずれかの形式で指定します。

  • 2 要素ベクトル — 最初の要素を C(1,1) の中心の位置として使用し、2 番目の要素を C(m,n) の中心の位置として使用します。ここで、[m,n] = size(C) です。C が 3 次元配列である場合、mn は最初の 2 つの次元です。C の残りの要素の中心は、これら 2 点間に等間隔に分布されます。

    各ピクセルの幅は次の式で決定されます。

    (x(2)-x(1))/(size(C,2)-1)

    x(1) > x(2) の場合、イメージが左右反転されます。

  • スカラー — この位置に C(1,1) の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。

代わりに関数 imagesc の低水準版を使用するには、XData プロパティを名前と値のペアとして設定します。たとえば、imagesc('XData',x,'YData',y,'CData',C) のようになります。

範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

y 軸に沿った配置。次のいずれかの形式で指定します。

  • 2 要素ベクトル — 最初の要素を C(1,1) の中心の位置として使用し、2 番目の要素を C(m,n) の中心の位置として使用します。ここで、[m,n] = size(C) です。C が 3 次元配列である場合、mn は最初の 2 つの次元です。C の残りの要素の中心は、これら 2 点間に等間隔に分布されます。

    各ピクセルの高さは次の式で決定されます。

    (y(2)-y(1))/(size(C,1)-1)

    y(1) > y(2) の場合、イメージが上下反転されます。

  • スカラー — この位置に C(1,1) の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。

代わりに関数 imagesc の低水準版を使用するには、YData プロパティを名前と値のペアとして設定します。たとえば、imagesc('XData',x,'YData',y,'CData',C) のようになります。

範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

色の範囲。[cmin cmax] の形式の 2 要素ベクトルとして指定します。ここで cmaxcmin より大きい値です。Ccmin 以下の値は、カラーマップの最初の色にマッピングされます。cmax 以上の値は、カラーマップの最後の色にマッピングされます。cmincmax の間の値は、カラーマップに線形にマッピングされます。

色の範囲を指定した場合、関数 imagesc は座標軸の CLim プロパティをその指定値に設定します。色の範囲を指定しない場合、imagesc は座標軸の CLim プロパティを C の最小値と最大値に設定します。

axes オブジェクト。axes オブジェクトを指定しない場合、imagesc は現在の座標軸を使用します。

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: imagesc([1 2 3],'AlphaData',0.5) は、半透明のイメージを表示します。

以下にリストするプロパティは、イメージ プロパティの一部です。詳細なリストは、Image のプロパティ を参照してください。

すべて折りたたむ

透明度のデータ。次のいずれかの形式で指定します。

  • スカラー — イメージ全体で同じ透明度を使用します。

  • CData と同じサイズの配列 — イメージの要素ごとに異なる透明度の値を使用します。

AlphaDataMapping プロパティは、アルファ データの透明度値を MATLAB® が解釈する方法を制御します。

例: 0.5

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

AlphaData の値の解釈。次の値のいずれかとして指定します。

  • 'none' — 値を透明度値として解釈します。1 以上の値は完全に不透明に、0 以下の値は完全に透明に、0 と 1 の間の値は半透明になります。

  • 'scaled' — 値を Figure の alphamap にマッピングします。座標軸のアルファ値の範囲の最小値と最大値によって、alphamap の最初と最後の要素にマッピングされるアルファ データ値が決まります。たとえば、アルファ値の範囲が [3 5] の場合、3 以下のアルファ データ値は alphamap の最初の要素にマッピングされます。また、5 以上のアルファ データ値は、alphamap の最後の要素にマッピングされます。座標軸の ALim プロパティにはアルファ値の範囲が含まれています。Figure の Alphamap プロパティには alphamap が含まれています。

  • 'direct' — Figure の alphamap のインデックスとして値を解釈します。小数部のある値は最も近い小さい方の整数に固定されます。

    • 値が double 型または single 型の場合、1 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素にマッピングされます。

    • 値が整数型の場合、0 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素 (またはその型の範囲の上限) にマッピングされます。整数型は uint8uint16uint32uint64int8int16int32int64 です。

    • 値が logical 型の場合、0 の値は alphamap の最初の要素に、1 の値は alphamap の 2 番目の要素にマッピングされます。

出力引数

すべて折りたたむ

image オブジェクト。スカラーとして返されます。イメージの作成後にプロパティを設定するには、im を使用します。一覧は、Image のプロパティ を参照してください。

詳細

すべて折りたたむ

高水準版と低水準版の違い

関数 imagesc には、高水準版と低水準版の 2 つがあります。imagesc の入力引数として 'CData' を使用した場合、低水準版が使用されます。それ以外の場合、高水準版が使用されます。

高水準版の imagesc は、プロットの前に newplot を呼び出し、この座標軸のプロパティを次のように設定します。

  • Layer'top' に。イメージは、目盛りやグリッド ラインの手前に表示されます。

  • YDir'reverse' に。y 軸の値は、上から下に増加します。上から下に値を減少するには、YDir'normal' に設定します。この設定は、y 軸とイメージの両方を反転します。

  • View[0 90] に。

低水準版の関数 imagescnewplot を呼び出さず、座標軸のプロパティを設定しません。

両方の版で、関数 imagesc は以下を設定します。

  • image オブジェクトの CData プロパティを C の値に。

  • image オブジェクトの CDataMapping プロパティを 'scaled' に。

  • 座標軸の CLim プロパティを C の最小値と最大値に (入力引数 clims が指定されている場合を除く)。

ヒント

  • TIFF などのさまざまな標準形式のグラフィックス ファイルから、イメージ データを MATLAB に読み込むには、imread を使用します。MATLAB のイメージ データをグラフィックス ファイルに書き込むには、imwrite を使用します。関数 imread および imwrite は、さまざまなグラフィックス ファイル形式と圧縮方式をサポートしています。

  • 座標軸の色の範囲の表示や設定を行うには、関数 caxis を使用します。

R2006a より前に導入

この情報は役に立ちましたか?