Main Content

enviwrite

ENVI ファイル形式へのハイパースペクトル データの書き込み

R2020a 以降

説明

enviwrite(hcube,filename) は、hypercube オブジェクトに格納されたハイパースペクトル データを ENVI (Environment for Visualizing Images) ファイル形式に書き込みます。この関数は、ファイル拡張子 .hdr の ENVI ヘッダー ファイルおよび .dat の ENVI バイナリ データ ファイルを作成します。波長とメタデータ情報が ENVI ヘッダー ファイルに、ハイパースペクトル イメージを含むデータ キューブが ENVI バイナリ データ ファイルに書き込まれます。

enviwrite(___,Name,Value) は、前の構文の入力引数に加えて、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。

メモ

この関数には 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.hdr');

ハイパースペクトル データから、最も情報量の多いバンドを 20 個抽出します。

sig = fippi(hcube,5);
newhcube = selectBands(hcube,sig,'NumberOfBands',20);

ENVI ファイル形式に、選択したハイパースペクトル データを書き込みます。バイナリ データ ファイルの名前は newData.dat、ヘッダー ファイルの名前は newData.hdr です。

enviwrite(newhcube,'newData');

入力引数

すべて折りたたむ

入力ハイパースペクトル データ。hypercube オブジェクトとして指定します。hypercube オブジェクトには、データ キューブ、波長、および関連するメタデータ情報が格納されています。

ENVI ファイル名。文字ベクトルまたは string スカラーとして指定します。この関数は、指定された値をバイナリ データ ファイル (.dat) とヘッダー ファイル (.hdr) の両方の名前として使用します。

名前と値の引数

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

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

例: enviwrite(hcube,filename,'Interleave','bip')

バンドのインターリーブ方法。'Interleave' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'bsq' — 関数はバンド順データ並びのインターリーブ法を使用します。各バンドを完全に書き込んでから次のバンドを書き込みます。これは既定のメソッドです。

  • 'bil' — 関数はライン挟み込みバンド並びのインターリーブ法を使用します。各バンドからの行全体を書き込んでから次の行を書き込みます。

  • 'bip' — 関数は画素挟み込みバンド並びのインターリーブ法を使用します。各バンドからのピクセルを書き込んでから次のピクセルを書き込みます。

Illustration for Band interleaving

データ型: char | string

ENVI バイナリ データ ファイルに書き込むデータ型。'DataType' と有効なデータ型で構成されるコンマ区切りのペアとして指定します。

データ型: char | string

バイナリ データ ファイルのエンディアン。'ByteOrder' と、'ieee-le' または 'ieee-be' のいずれかで構成されるコンマ区切りのペアとして指定します。リトルエンディアン形式の場合は 'ieee-le'、ビッグエンディアン形式の場合は 'ieee-be' として値を指定します。既定では、関数はお使いのマシンのエンディアン形式を使用します。

データ型: char | string

データ開始前のバイト数。'HeaderOffset' と正の整数で構成されるコンマ区切りのペアとして指定します。ヘッダー ファイルが存在しない場合、既定では ASCII の null 値を書き込んでスペースが埋められます。

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

バージョン履歴

R2020a で導入