Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ハイパースペクトル ビューアーでのハイパースペクトル データの調査

この例では、ハイパースペクトル ビューアーアプリを使用して、ハイパースペクトル データを調査する方法を説明します。このアプリの機能を使用すると、ハイパースペクトル データセットの個々の帯域をグレースケール イメージとして表示できます。また、データセットのカラー合成表現を RGB、カラー赤外 (CIR)、およびフォールス カラーのイメージとして表示することもできます。データのハイパースペクトル インデックスを可視化することもできます。データの空間次元についてこうした視覚的表現を調査するほかにも、スペクトル次元に沿ってデータの各点または小領域のプロットを作成できます。これらのプロットは "スペクトル プロファイル" と呼ばれ、ハイパースペクトル データ内の要素を識別することができます。

この例では、Image Processing Toolbox™ Hyperspectral Imaging Library が必要となります。Image Processing Toolbox Hyperspectral Imaging Library はアドオン エクスプローラーからインストールできます。アドオンのインストールの詳細については、アドオンの取得と管理を参照してください。Image Processing Toolbox Hyperspectral Imaging Library は MATLAB® Online™ および MATLAB® Mobile™ ではサポートされないため、デスクトップの MATLAB® が必要となります。

ハイパースペクトル データのワークスペースへの読み込み

この例では、航空機搭載可視/赤外イメージング スペクトルメーター (AVIRIS) で取得した、Jasper Ridge と呼ばれる地域の航空ハイパースペクトル データセットを読み込みます。このデータセットには、水、陸地、道路、および植生の領域が格納されています。ハイパースペクトル データ セットを MATLAB ワークスペース内の hypercube オブジェクトに読み込みます。

hcube = hypercube('jasperRidge2_R198.img');  

このコマンドは、hcube という名前の hypercube オブジェクトをワークスペースに作成します。hcube オブジェクトには、ハイパースペクトル データの 100 x 100 x 198 のキューブが格納されています。

ハイパースペクトル ビューアーでのハイパースペクトル データの表示

ハイパースペクトル ビューアー アプリを開きます。まず、MATLAB ツールストリップの [アプリ] タブをクリックします。次に、[イメージ処理とコンピューター ビジョン] セクションで [ハイパースペクトル ビューアー] ボタンをクリックします。

アプリが開いたら、ハイパースペクトル データをアプリに読み込みます。アプリのツールストリップで [Import] をクリックし、[Hypercube Object] を選択します。[Import from Workspace] ダイアログ ボックスで、ワークスペースに読み込んだ hypercube オブジェクト hcube を選択します。代わりに、以下のコマンドを使用して、アプリを開くときにデータ セットを指定することもできます。

hyperspectralViewer(hcube)

Jasper Ridge ハイパースペクトル データのビューが複数表示されます。[Bands] ペインに、ハイパースペクトル データの帯域がグレースケール イメージのスタックとして表示されます。2 番目のペインには、ハイパースペクトル データのカラー合成表現が含まれており、既定では [False Color] タブが表示されます。[Histogram] ペインには、現在 [Bands] ペインに表示されている帯域のヒストグラムが表示されます。[Spectral Plot] ペインには、データのスペクトル次元のプロットが波長単位または帯域単位で表示されます。(アプリの内部でペインをクリックしてドラッグすることで、これらのペインを再配置できます。標準のペイン配置に戻すには、アプリのツールストリップで [Default Layout] をクリックします。)

Hyperspectral Viewer Initial Screen

スペクトル バンドの確認

[Bands] ペインで、グレースケール イメージのスタックとして Jasper Ridge データセットのスペクトル バンドを確認します。イメージ間を移動するには、ペインの下部にあるスライダーを使用します。各帯域は特定の波長範囲を分離するものであるため、特定の帯域では他の帯域よりシーンの特性がより明確になる場合があります。

Hyperspectral Viewer Bands Pane

帯域をより詳しく確認するには、イメージ上にカーソルを置いたときに表示される座標軸ツール バーで [ズームイン] または [ズームアウト] をクリックします。

バンド イメージのコントラストを改善するには、アプリのツールストリップで [Adjust Contrast] をクリックします。これにより、[Histogram] ペインに表示されたイメージのヒストグラム上にコントラスト調整ウィンドウが重なって表示されます。コントラストを調整するには、ヒストグラムの上でウィンドウを移動するか、ハンドルをクリックしてドラッグし、ウィンドウのサイズを変更します。アプリでは、"コントラスト ストレッチ" という手法を使用してコントラストを調整します。このプロセスでは、指定した値より小さいピクセル値が黒、指定した値より大きいピクセル値が白でそれぞれ表示され、これらの 2 つの値の間のピクセル値はグレー階調で表示されます。結果は、黒から白にわたるグレーの全範囲に対するピクセル値のサブセットの線形マッピングとなるので、コントラストの高いイメージが生成されます。既定の表示に戻るには、[Snap Data Range] をクリックします。ヒストグラムからコントラスト調整ウィンドウを削除するには、[Adjust Contrast] をクリックします。

Hyperspectral Viewer Histogram Pane

ハイパースペクトル データのカラー表現の確認

Jasper Ridge ハイパースペクトル データをカラー合成イメージとして確認します。これらのカラー イメージを作成する場合、"ハイパースペクトル ビューアー" はカラー イメージの赤、緑、青のチャネルについて、使用するハイパースペクトル データセット内の 3 つの帯域を自動的に選択します。アプリが使用する帯域の選択は、カラー表現のタイプによって異なります。アプリは次の 3 種類のカラー合成表現をサポートしています。フォールス カラー、RGB、およびカラー赤外 (CIR)。各表現は別々の帯域を使用しており、強調表示されるスペクトル詳細も異なる可能性があるため、データの解釈可能性が向上します。このため、すべてのカラー合成イメージを表示すると有効な場合があります。

既定の設定では、データのフォールス カラー表現が表示されます。フォールス カラー合成では、人間の目に見えない波長が可視化されます。このペインのタブには、カラー イメージのタイプ [False Color] と、アプリがその形成に使用した帯域 [(145,99,19)] が赤、緑、青の順で表示されます。アプリの [Spectral Plot] ペインは、どの帯域が使用されているかを示します。帯域の選択を変更するには、[Spectral Plot] で帯域インジケーターのハンドルをクリックしてドラッグします。別の帯域を選択すると、その新しい帯域でタブのテキストが更新され、[False Color-Custom] のように "カスタム" の文字が追加されます。

Hyperspectral Viewer False Color View

RGB カラー合成イメージを作成する場合は、電磁スペクトルの可視部にある帯域が選択されます。得られる合成イメージは、人間の目で見たそのままの内容とよく似ています。たとえば、植生は緑に、水は青に見えます。RGB 合成は人間の目に自然に映りますが、特徴の微妙な違いを区別することは困難な場合があります。自然のカラー イメージはコントラストが低くなることがあるためです。

Hyperspectral Viewer RGB View

CIR カラー合成イメージを作成する場合は、赤、緑、および近赤外の波長が選択されます。近赤外波長は赤より少し長く、人間の目に見える範囲からは外れています。

Hyperspectral Viewer CIR View

ピクセルおよび領域のスペクトル プロファイル プロットの作成

ハイパースペクトル データのグレースケールの可視化とカラーの可視化を確認した後は、スペクトル次元に沿ってデータの各点または小領域をプロットし、スペクトル プロファイルを作成できます。1 つのピクセル、または最大 10 x 10 ピクセルの正方形領域をプロットできます。領域のサイズを指定するには [Neighborhood Size] パラメーターを使用します。領域を選択すると、アプリは領域内のすべてのピクセルの平均を使用してデータをプロットします。個々のピクセルではなく領域をプロットすると、スペクトル プロファイルが平滑化されます。

スペクトル プロットを作成するには、アプリのツールストリップで [Add Spectral Plot] をクリックし、アプリの可視化領域上にカーソルを移動して、点または領域をクリックして選択します。アプリが提供するどの可視化上でも選択が可能です。使用する可視化には、データ内の関心のある特徴を確認するために最も適しているものを選択できます。選択すると、すべての可視化上の当該位置にポイント アイコンが配置されます。すべての点を選択したら、[Add Spectral Plot] を再度クリックしてスペクトル プロットの追加を終了します。点を削除するには、[スペクトル プロット] ペインで点の横にある十字をクリックします。[スペクトル プロット] ペインで各点の横にある情報シンボルを選択すると、各スペクトル プロットの統計情報を表示することができます。

たとえば、次の図は、各可視化で選択された 4 つの点を示しており、それぞれの点はデータのタイプ (水、植生、道路、陸地) を表しています。

Hyperspectral Viewer Color Views Comparison

各点を選択すると、個々のプロットを識別する別々の色を使用して、[Spectral Plot] にデータがプロットされます。既定の設定では、[Spectral Plot] には各点のプロットを識別する凡例も含まれます。凡例の表示をオフに切り替えるには、[Show Legend] をクリックします。

Hyperspectral Viewer Spectral Plots

ハイパースペクトル データのスペクトル インデックスの可視化

R2023a 以降

アプリのツールストリップで、[Spectral Indices] セクションから希望するスペクトル インデックスを選択することによって、ハイパースペクトル データのスペクトル インデックスを可視化できます。インポートされたハイパースペクトル データに適用可能なスペクトル インデックスのみ有効になります。

Hyperspectral Viewer Spectral Indices Gallery

たとえば、単純な比率 (SR) インデックスを可視化するには、スペクトル インデックスから [SR] を選択します。別個のペインが開かれ、選択したスペクトル インデックスが可視化されます。

Hyperspectral Viewer Spectral Index View

イメージの下にあるスライダーを使用して下限および上限のしきい値を指定することによって、スペクトル インデックス イメージからマスクを作成できます。しきい値なしのスペクトル インデックス イメージに戻すには、最初に下限のしきい値を最小値にスライドし、その後、上限のしきい値を最大値にスライドします。

Hyperspectral Viewer Thresholded Spectral Index Mask View

[Custom] インデックスを選択して、インポートされたハイパースペクトル データ用にカスタムのスペクトル インデックスを定義することもできます。関数customSpectralIndexと互換性のあるカスタム インデックスを定義する必要があります。カスタム インデックス式は関数ハンドルとして指定し、カスタム インデックス計算用の波長は数値ベクトルとして指定します。波長は一意でなければならず、ナノメートル単位で指定する必要があり、ハイパースペクトル データ キューブ内の波長の範囲内でなければなりません。

Hyperspectral Viewer Custom Spectral Index Dialog

Hyperspectral Viewer Custom Spectral Index View

ワークスペースへのエクスポート

R2023b 以降

アプリのツールストリップから、[ワークスペースにエクスポート] を選択します。以下のいずれかのオプションを選択してエクスポートできます。

  • FalseColor, RGB, and CIR Color Bands

  • Spectral Indices

  • Spectral Signatures

Hyperspectral Viewer Export to Workspace Options

[FalseColor, RGB, CIR Color Bands] オプションを選択した場合、ワークスペースにエクスポートするカラー表現を [ワークスペースにエクスポート] ダイアログ ボックスで選択して名前を付けます。選択したカラー表現が、数値配列として MATLAB ワークスペースにエクスポートされます。

Hyperspectral Viewer Export Color Bands Dialog

[Spectral Indices] オプションを選択した場合、ワークスペースにエクスポートするスペクトル インデックスおよびしきい値処理済みのスペクトル インデックス マスクを [ワークスペースにエクスポート] ダイアログ ボックスで選択して名前を付けます。選択したスペクトル インデックスおよびしきい値処理済みのスペクトル インデックス マスクが、数値配列として MATLAB ワークスペースにエクスポートされます。

Hyperspectral Viewer Export Spectral Indices Dialog

[Spectral Signatures] オプションを選択した場合、スペクトル プロットにプロットされたスペクトル シグネチャのうちワークスペースにエクスポートするものを [ワークスペースにエクスポート] ダイアログ ボックスで選択して名前を付けます。選択したスペクトル シグネチャが、数値ベクトルとして MATLAB ワークスペースにエクスポートされます。

Hyperspectral Viewer Export Spectral Signatures Dialog