Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

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

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

この例では、航空機搭載可視/赤外イメージング スペクトルメーター (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] タブが表示されます。[Plots] ペインには、現在 [Bands] ペインに表示されている帯域のヒストグラム、および波長単位または帯域単位のデータのスペクトル次元のプロットが表示されます (アプリの内部でペインをクリックしてドラッグすることで、これらのペインを再配置できます。標準のペイン配置に戻すには、アプリのツールストリップで [Default Layout] をクリックします)。

スペクトル バンドの確認

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

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

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

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

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

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

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

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

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

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

スペクトル プロットを作成するには、アプリのツールストリップで [Add Spectral Plot] をクリックし、アプリの可視化上にカーソルを移動して、点または領域をクリックして選択します。アプリが提供するどの可視化上でも選択が可能です。使用する可視化には、データ内の関心のある特徴を確認するために最も適しているものを選択できます。選択すると、すべての可視化上の当該位置にポイント アイコンが配置されます。点をさらに選択するには、[Add Spectral Plot] をクリックして処理を繰り返します。点を削除するには、その点を右クリックして表示されたポップアップ メニューから [点の削除] を選択します。選択済みのすべての点を削除するには、アプリのツールストリップで [Clear All] をクリックします。

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

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