Main Content

colorize

ハイパースペクトル データのカラー イメージの推定

R2020a 以降

説明

coloredImage = colorize(hcube) は、hypercube オブジェクト hcube の情報量の最も多い 3 つの帯域に基づいて、ハイパースペクトル データのフォールス カラー イメージを推定します。

coloredImage = colorize(hcube,band) は、指定されたスペクトル バンド band を使用してフォールス カラー イメージを返します。

[coloredImage,indices] = colorize(___) は、カラー イメージで使用されている帯域のインデックスを返します。

___ = colorize(___,Name,Value) は、前の構文の引数から成る任意の組み合わせに加えて、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。この構文を使用して、入力データのフォールス カラー イメージおよびカラー赤外 (CIR) イメージを推定するオプションを指定します。

メモ

この関数には Image Processing Toolbox™ Hyperspectral Imaging Library が必要です。Image Processing Toolbox Hyperspectral Imaging Library はアドオン エクスプローラーからインストールできます。アドオンのインストールの詳細については、アドオンの入手と管理を参照してください。

Image Processing Toolbox Hyperspectral Imaging LibraryMATLAB® Online™ または MATLAB Mobile™ ではサポートされないため、デスクトップの MATLAB が必要となります。

すべて折りたたむ

ハイパースペクトル データをワークスペースに読み取ります。

hcube = hypercube('paviaU.dat');

ハイパースペクトル データのフォールス カラー イメージを推定します。

coloredImg = colorize(hcube);

フォールス カラー イメージを表示します。

imshow(coloredImg)

ハイパースペクトル データをワークスペースに読み取ります。

hcube = hypercube('paviaU.dat');

ハイパースペクトル データの RGB イメージを推定します。コントラスト ストレッチを適用してイメージのコントラストを上げます。

coloredImg = colorize(hcube,"Method","rgb","ContrastStretching",true);

コントラスト ストレッチを行った RGB イメージを表示します。

imshow(coloredImg)

入力引数

すべて折りたたむ

入力ハイパースペクトル データ。hypercube オブジェクトとして指定します。hypercube オブジェクトの DataCube プロパティはハイパースペクトル データ キューブを M x N x C の数値配列として格納します。ここで、C は帯域の数です。

スペクトル バンド番号。正の整数の 3 要素ベクトルとして指定します。ベクトルのすべての要素は、入力データの帯域数 C の総数以下でなければなりません。

データ型: double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: colorize(hcube,'Method','rgb')

帯域の可視化に使用する手法。'Method' と次のオプションのいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'falsecolored' — 関数 selectBands を使用して選択した、情報量の最も多い 3 つの帯域で構成されるフォールス カラー イメージを作成します。

  • 'rgb' — スペクトル範囲を赤 (R)、緑 (G)、青 (B) の帯域に分割して RGB イメージを作成します。赤色帯域の範囲は 600 ~ 700 nm、緑色帯域は 500 ~ 600 nm、青色帯域は 400 ~ 500 nm です。表示された R、G、B のチャネルは、相関係数メトリクスに基づいて、対応するスペクトル範囲内の最も代表的な帯域で構成されます。

  • 'cir' — スペクトル範囲を近赤外 (NIR)、R、G の帯域に分割してカラー赤外 (CIR) イメージを作成します。NIR の帯域の範囲は 760 ~ 960 nm、赤色帯域は 600 ~ 700 nm、緑色帯域は 500 ~ 600 nm です。表示されたチャネルは、相関係数メトリクスに基づいて、対応するスペクトル範囲内の最も代表的な帯域で構成されます。

RGB イメージまたは CIR イメージを作成するには、hypercube オブジェクト hcubeWavelength プロパティの波長が、対応するそれぞれの範囲内になければなりません。

データ型: char | string

イメージのコントラスト ストレッチの実行。'ContrastStretching' と logical 0 (false) または 1 (true) で構成されるコンマ区切りのペアとして指定します。true の場合、関数 colorize は、関数 adapthisteq を使用してコントラストを制限する適応ヒストグラム均等化を適用します。

データ型: logical

出力引数

すべて折りたたむ

カラー イメージ。M x N x 3 の数値配列として返されます。3 つの色平面のそれぞれにハイパースペクトル イメージの帯域が 1 つずつ格納されます。

データ型: single | double

選択した帯域のインデックス。正の整数の 3 要素の列ベクトルとして返されます。

データ型: double

バージョン履歴

R2020a で導入