ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

label2idx

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

構文

pixelIndexList = label2idx(L)

説明

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

コード生成 サポート: あり。

MATLAB® Function ブロック サポート: なし。

すべて折りたたむ

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 =

     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

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

pixelIndexList = label2idx(L)
pixelIndexList =

  1×3 cell array

    [24×1 double]    [4×1 double]    [4×1 double]

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

pixelIndexList{2}
ans =

    34
    35
    42
    43

入力引数

すべて折りたたむ

ラベル行列。実数、非スパース、非負、有限の数値の N 次元配列として指定します。

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

出力引数

すべて折りたたむ

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

詳細

すべて折りたたむ

コード生成

この関数では MATLAB Coder™ を使用した C コードの生成がサポートされています。詳細は、「画像処理のコード生成」を参照してください。

R2016a で導入

この情報は役に立ちましたか?