image
配列のイメージ表示
構文
説明
image(
は、配列 C
)C
内のデータをイメージとして表示します。C
の各要素は、イメージの 1 ピクセルの色を指定します。結果のイメージは m
x n
のピクセルからなるグリッドです。ここで、m
は C
の行数、n
は列数です。要素の行と列のインデックスにより、対応するピクセルの中心が決まります。
image('CData',
は、既存のプロットを置き換えずに、現在の座標軸にイメージを追加します。この構文は、C
)image(C)
の低水準版です。詳細については、イメージの高水準版と低水準版の違いを参照してください。
image(___,
は、名前と値のペアの引数を 1 つ以上使用して、イメージのプロパティを指定します。イメージのプロパティは、前述の構文に示した任意の入力引数の組み合わせを使用して指定できます。Name,Value
)
image(
は、現在の座標軸 (ax
,___)gca
) ではなく ax
で指定された座標軸にイメージを作成します。オプションの ax
は、前述の構文のすべての入力引数の組み合わせより前に指定できます。
は、作成された im
= image(___)Image
オブジェクトを返します。イメージの作成後にプロパティを設定するには、im
を使用します。この出力は、前述の構文に示した任意の入力引数の組み合わせを使用して指定できます。イメージのプロパティと説明の一覧については、Image のプロパティ を参照してください。
例
行列データのイメージ表示
行列 C
を作成します。C
内のデータのイメージを表示します。現在のカラーマップを示すカラー バーをグラフに追加します。
C = [0 2 4 6; 8 10 12 14; 16 18 20 22]; image(C) colorbar
既定では、イメージの CDataMapping
プロパティは 'direct'
に設定され、image
は C
内の値をカラーマップのインデックスとして解釈します。たとえば、右下のピクセルは C
の最後の要素 22 に対応し、カラーマップの 22 番目の色を使用します。
イメージの作成時に CDataMapping
プロパティを 'scaled'
に設定して、現在のカラーマップの全範囲に値をスケーリングします。
image(C,'CDataMapping','scaled') colorbar
または、image(C,'CDataMapping','scaled')
の代わりに関数 imagesc
を使用して値をスケーリングすることもできます。たとえば、imagesc(C)
を使用します。
イメージの配置の制御
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]; image(x,y,C)
C(1,1) に対応するピクセルの中心は点 (5,3) になります。C(3,4) に対応するピクセルの中心は点 (8,6) になります。image
は、この 2 点間の残りのイメージを配置し、方向を設定します。
トゥルーカラーの 3 次元配列のイメージ表示
C
をトゥルーカラーの 3 次元配列として作成します。配列の最後の 2 ページをゼロに設定して、赤の色のみを使用します。
C = zeros(3,3,3); C(:,:,1) = [.1 .2 .3; .4 .5 .6; .7 .8 .9]
C = C(:,:,1) = 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 C(:,:,2) = 0 0 0 0 0 0 0 0 0 C(:,:,3) = 0 0 0 0 0 0 0 0 0
C
内のデータのイメージを表示します。
image(C)
作成後のイメージの変更
ラインをプロットし、そのラインの上にイメージを作成します。image オブジェクトを返します。
plot(1:3)
hold on
C = [1 2 3; 4 5 6; 7 8 9];
im = image(C);
イメージの奥にあるラインが見えるよう、イメージを半透明にします。
im.AlphaData = 0.5;
JPEG イメージ ファイルの読み取りと表示
JPEG イメージ ファイルを読み取ります。
C = imread('ngc6543a.jpg');
imread
は、650 x 600 x 3 の配列 C
を返します。
イメージを表示します。
image(C)
3 次元表示の座標軸にイメージを追加
表面プロットを作成します。次に、表面の下方にイメージを追加します。image
はイメージを xy 平面に表示します。
Z = 10 + peaks; surf(Z) hold on image(Z,'CDataMapping','scaled')
入力引数
C
— イメージのカラー データ
ベクトルまたは行列 | RGB 3 成分の 3 次元配列
イメージのカラー データ。次のいずれかの形式で指定します。
ベクトルまたは行列 — この形式はインデックス付きイメージ データを定義します。
C
の各要素がイメージの 1 ピクセルの色を定義します。たとえば、C = [1 2 3; 4 5 6; 7 8 9];
のようになります。C
の要素は、関連付けられている座標軸のカラーマップの色にマッピングされます。CDataMapping
プロパティはマッピング方法を制御します。RGB 3 成分の 3 次元配列 — この形式は、RGB 3 成分の値を使用してトゥルーカラー イメージ データを定義します。各RGB 3 成分が、イメージの 1 ピクセルの色を定義します。RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 要素のベクトルです。3 次元配列の最初のページは赤成分を、2 番目のページは緑成分を、3 番目のページは青成分を含みます。このイメージはカラーマップの色ではなくトゥルーカラーを使用するため、
CDataMapping
プロパティは効果がありません。C
がdouble
型の場合、RGB 3 成分の値[0 0 0]
は黒に対応し、[1 1 1]
は白に対応します。C
が整数型の場合、イメージはデータのすべての範囲を使用して色を決定します。たとえばC
がuint8
型の場合、[0 0 0]
は黒に対応し、[255 255 255]
は白に対応します。CData
がint8
型の場合、[-128 -128 -128]
は黒に対応し、[127 127 127]
は白に対応します。C
がlogical
型の場合、[0 0 0]
は黒に対応し、[1 1 1]
は白に対応します。
次の図に、2 つのカラー モデルについて C
の関連する次元を示します。
NaN
要素の動作は定義されていません。
代わりに関数 image
の低水準版を使用するには、CData
プロパティを名前と値のペアとして設定します。たとえば、image('CData',C)
のようになります。
double
データ型と整数データ型の変換
ベクトルまたは 2 次元行列を指定して関数 image
を呼び出し、既定の CDataMapping
値を使用する場合、double
値と整数型の間で変換するときに、データ値を 1 ずつオフセットしなければなりません。CDataMapping
が 'scaled'
に設定されている場合、このオフセットは必要ありません。
たとえば、U8
に uint8
型のインデックス付きイメージ データが含まれている場合、次を使用して double
型に変換できます。
D = double(U8) + 1;
インデックス付きイメージ データを double
型から整数型に変換するには、1 を減算して round
を使用し、すべての値が整数になるようにします。たとえば、D
に double
型のインデックス付きイメージ データが含まれている場合、uint8
型に変換するには次のようにします。
U8 = uint8(round(D - 1));
正規化された double
とトゥルーカラー値の変換
トゥルーカラー イメージ データを整数型から double
型に変換するには、データを再スケーリングします。たとえば、RGB8
が uint8
型のトゥルーカラー イメージ データである場合、double
型に変換するには次のようにします。
RGB = double(RGB8)/255;
トゥルーカラー イメージ データを double
型から整数型に変換するには、データを再スケーリングして round
を使用し、すべての値が整数になるようにします。たとえば、RGB
が double
型のイメージ データである場合、uint8
型に変換するには次のようにします。
RGB8 = uint8(round(RGB*255));
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
x
— x 軸に沿った配置
[1 size(C,2)]
(既定値) | 2 要素ベクトル | スカラー
x 軸に沿った配置。次のいずれかの形式で指定します。
2 要素ベクトル — 最初の要素を
C(1,1)
の中心の位置として使用し、2 番目の要素をC(m,n)
の中心の位置として使用します。ここで、[m,n] = size(C)
です。C
が 3 次元配列である場合、m
とn
は最初の 2 つの次元です。C
の残りの要素の中心は、これら 2 点間に等間隔に分布されます。各ピクセルの幅は次の式で決定されます。
(x(2)-x(1))/(size(C,2)-1)
x(1)
>x(2)
の場合、イメージが左右反転されます。スカラー — この位置に
C(1,1)
の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。
代わりに関数 image
の低水準版を使用するには、XData
プロパティを名前と値のペアとして設定します。たとえば、image('XData',x,'YData',y,'CData',C)
のようになります。
範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
y
— y 軸に沿った配置
[1 size(C,1)]
(既定値) | 2 要素ベクトル | スカラー
y 軸に沿った配置。次のいずれかの形式で指定します。
2 要素ベクトル — 最初の要素を
C(1,1)
の中心の位置として使用し、2 番目の要素をC(m,n)
の中心の位置として使用します。ここで、[m,n] = size(C)
です。C
が 3 次元配列である場合、m
とn
は最初の 2 つの次元です。C
の残りの要素の中心は、これら 2 点間に等間隔に分布されます。各ピクセルの高さは次の式で決定されます。
(y(2)-y(1))/(size(C,1)-1)
y(1)
>y(2)
の場合、イメージが上下反転されます。スカラー — この位置に
C(1,1)
の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。
代わりに関数 image
の低水準版を使用するには、YData
プロパティを名前と値のペアとして設定します。たとえば、image('XData',x,'YData',y,'CData',C)
のようになります。
範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
ax
— Axes
オブジェクト
Axes
オブジェクト
Axes
オブジェクト。Axes
オブジェクトを指定しない場合、image
は現在の座標軸を使用します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: image([1 2 3],'AlphaData',0.5)
は、半透明のイメージを表示します。
以下にリストするプロパティは、イメージ プロパティの一部です。完全な一覧については、Image のプロパティ を参照してください。
CDataMapping
— カラー データのマッピング方法
'direct'
(既定値) | 'scaled'
カラー データのマッピング方法。'direct'
または 'scaled'
で指定します。このプロパティを使用して CData
内のカラー データ値のカラーマップへのマッピングを制御します。CData
はインデックス カラーを定義するベクトルまたは行列でなければなりません。CData
がトゥルーカラーを定義する 3 次元配列の場合、このプロパティは効果がありません。
それぞれの方法には次の効果があります。
'direct'
— 現在のカラーマップのインデックスとして値を解釈します。小数部分の値は、最近傍値の小さい方の整数に丸められます。値が
double
型またはsingle
型の場合、1
以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色にマッピングされます。値が
uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
またはint64
型の場合、0
以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色にマッピングされます (またはその型の範囲の上限値)。値が
logical
型の場合、0
の値はカラーマップの最初の色にマッピングされ、1
の値はカラーマップの 2 番目の色にマッピングされます。
'scaled'
— 色の最小値と最大値の間の範囲に値がスケーリングされます。座標軸のCLim
プロパティには色の範囲が含まれています。
AlphaData
— 透明度のデータ
1
(既定値) | スカラー | CData
と同じサイズの配列
透明度のデータ。次のいずれかの形式で指定します。
スカラー — イメージ全体で同じ透明度を使用します。
CData
と同じサイズの配列 — イメージの要素ごとに異なる透明度の値を使用します。
AlphaDataMapping
プロパティは、アルファ データの透明度値を MATLAB® が解釈する方法を制御します。
例: 0.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
AlphaDataMapping
— AlphaData
値の解釈
'none'
(既定値) | 'scaled'
| 'direct'
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 の最後の要素 (またはその型の範囲の上限) にマッピングされます。整数型は
uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
、int64
です。値が
logical
型の場合、0 の値は alphamap の最初の要素に、1 の値は alphamap の 2 番目の要素にマッピングされます。
出力引数
im
— Image
オブジェクト
Image
オブジェクト
Image
オブジェクト。スカラーとして返されます。イメージの作成後にプロパティを設定するには、im
を使用します。一覧については、Image のプロパティ を参照してください。
詳細
イメージの高水準版と低水準版の違い
関数 image
には、高水準版と低水準版の 2 つがあります。image
の入力引数として 'CData'
を使用した場合、低水準版が使用されます。それ以外の場合、高水準版が使用されます。
高水準版の image
は、プロットの前に newplot
を呼び出し、この座標軸のプロパティを次のように設定します。
低水準版の関数 image
は newplot
を呼び出さず、座標軸のプロパティを設定しません。
ヒント
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)