label2idx

御阪御阪001發表於2020-10-25


將標籤矩陣轉換為線性索引的單元格陣列

Syntax

pixelIndexList = label2idx(L)

Description

pixelIndexList = label2idx(L)將標籤矩陣L描述的區域轉換為線性索引pixelIndexList。

Examples

計算小標籤矩陣的畫素索引列表

clear all
close all
clc
%建立一個包含三個區域的小樣本矩陣。
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)
%獲取每個區域中所有畫素的線性索引列表。 該函式返回一個單元格陣列,該陣列具有在標籤矩陣中找到的每個區域的元素。
pixelIndexList = label2idx(L)
%檢查返回的畫素索引列表之一。 例如,檢視返回的單元格陣列中的第二個單元格。 它包含標記為“ 2”的區域中所有畫素的線性索引。
%該區域的左上角是畫素BW(2,5),它是線性索引中的第34個畫素。
pixelIndexList{2}
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

pixelIndexList=1×3 cell array
    {24x1 double}    {4x1 double}    {4x1 double}

ans = 4×1

    34
    35
    42
    43