Main Content

label2idx

ラベル行列を線形インデックスの cell 配列に変換

説明

pixelIndexList = label2idx(L) は、ラベル行列 L で記述される領域を線形インデックス pixelIndexList に変換します。

すべて折りたたむ

3 つの領域を含む小さいサンプル行列を作成します。

BW = logical([1 1 1 0 0 0 0 0
              1 1 1 0 1 1 0 0
              1 1 1 0 1 1 0 0
              1 1 1 0 0 0 0 0
              1 1 1 0 0 0 1 0
              1 1 1 0 0 0 1 0
              1 1 1 0 0 1 1 0
              1 1 1 0 0 0 0 0]);

このサンプル イメージからラベル行列を作成します。

L = bwlabel(BW)
L = 8×8

     1     1     1     0     0     0     0     0
     1     1     1     0     2     2     0     0
     1     1     1     0     2     2     0     0
     1     1     1     0     0     0     0     0
     1     1     1     0     0     0     3     0
     1     1     1     0     0     0     3     0
     1     1     1     0     0     3     3     0
     1     1     1     0     0     0     0     0

領域ごとにすべてのピクセルの線形インデックスを取得します。ラベル行列で検出された各領域の要素を含む cell 配列が返されます。

pixelIndexList = label2idx(L)
pixelIndexList=1×3 cell array
    {24x1 double}    {4x1 double}    {4x1 double}

出力されたピクセルのインデックス リストを調べます。たとえば、出力された cell 配列の 2 番目のセルを確認します。"2" とラベル付けされた領域の全ピクセルの線形インデックスが含まれています。その領域の左上のピクセル BW(2,5) は線形インデックスでは 34 番目のピクセルです。

pixelIndexList{2}
ans = 4×1

    34
    35
    42
    43

入力引数

すべて折りたたむ

ラベル行列。任意の次元の数値配列として指定します。

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

出力引数

すべて折りたたむ

領域内のピクセルの線形インデックス。1 行 n 列の cell 配列として返されます。出力の各要素 pixelIndexList{n}L のすべての線形インデックスを含むベクトルです。ここで、Ln と等しくなります。

拡張機能

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2016a で導入

すべて展開する