Main Content

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

cropData

関心領域のトリミング

R2020a 以降

    説明

    newhcube = cropData(hcube,row,column) は、ハイパースペクトル データ キューブ hcube 内のすべてのスペクトル バンドにわたり、row および column で指定された関心領域 (ROI) をトリミングします。この関数はトリミングされたデータを新しい hypercube オブジェクト newhcube として返します。

    newhcube = cropData(hcube,row,column,band) は、指定されたスペクトル バンド band にわたり、ROI をトリミングします。

    メモ

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

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

    すべて折りたたむ

    ENVI 形式ファイルからハイパースペクトル データを読み取ります。

    hcube = hypercube('paviaU.dat');

    入力データ キューブの最初の 10 個のスペクトル バンドをトリミングします。

    newhcube = cropData(hcube,':',':',1:10);

    ROI の行インデックスと列インデックスを指定して、抽出されたバンドからトリミングします。

    row = 130:250;
    column = 60:200;

    ROI をトリミングします。

    newhcube = cropData(newhcube,row,column,':');

    スペクトル バンドの元のバージョンとトリミングしたバージョンの両方のバンドを表示します。

    fig = figure('Position',[0 0 800 500]);
    axes1 = axes('Parent',fig,'Position',[0.05 0.05 0.45 0.8]);
    imagesc(hcube.DataCube(:,:,5),'Parent',axes1)
    title('Original Data')
    axes2 = axes('Parent',fig,'Position',[0.55 0.05 0.45 0.8]);
    imagesc(newhcube.DataCube(:,:,5),'Parent',axes2)
    title('Cropped Data')   
    colormap gray

    入力引数

    すべて折りたたむ

    入力ハイパースペクトル データ。hypercube オブジェクトとして指定します。hypercube オブジェクトの DataCube プロパティにはハイパースペクトル データ キューブが格納されます。

    データ キューブの行インデックス。':'、正の整数、または正の整数のベクトルとして指定します。

    • データ キューブ内のすべての行を選択するには、 ':' を使用します。

    • 特定の 1 行または複数行を選択するには、行インデックスを、それぞれ正の整数または正の整数のベクトルとして指定します。データ キューブのサイズが M x N x C の場合、指定された行インデックス値はすべて M 以下でなければなりません。行インデックスの範囲または一定の間隔でインデックスを指定するには、colon 演算子を使用します。たとえば、row = 1:10 のようにします。

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

    データ キューブの列インデックス。':'、正の整数、または正の整数のベクトルとして指定します。

    • データ キューブ内のすべての列を選択するには、 ':' を使用します。

    • 特定の 1 列または複数列を選択するには、列インデックスを、それぞれ正の整数または正の整数のベクトルとして指定します。データ キューブのサイズが M x N x C の場合、指定された列インデックス値はすべて N 以下でなければなりません。列インデックスの範囲または一定の間隔でインデックスを指定するには、colon 演算子を使用します。たとえば、column = 1:10 のようにします。

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

    スペクトル バンド番号。':'、正の整数、または正の整数のベクトルとして指定します。

    • データ キューブ内のすべてのバンドを選択するには、':' を使用します。

    • 特定のバンドを 1 つ以上選択するには、バンド番号を、それぞれ正の整数または正の整数のベクトルとして指定します。データ キューブのサイズが M x N x C の場合、指定されたバンド番号の値はすべて C 以下でなければなりません。バンド番号の範囲または一定の間隔で番号を指定するには、colon 演算子を使用します。たとえば、band = 1:10 のようにします。

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

    出力引数

    すべて折りたたむ

    出力ハイパースペクトル データ。hypercube オブジェクトとして返されます。

    バージョン履歴

    R2020a で導入