1. 程式人生 > >matlab regionprops區域屬性資訊

matlab regionprops區域屬性資訊

stats = regionprops(L,properties)

返回的stats為一個結構體struct

測量標註矩陣L中每一個標註區域的一系列屬性。L中不同的正整數元素對應不同的區域,例如:L中等於整數1的元素對應區域1L中等於整數2的元素對應區域2;以此類推。返回值STATS是一個長度為max(L(:))的結構陣列,結構陣列的相應域定義了每一個區域相應屬性下的度量。properties 可以是由逗號分割的字串列表、飽含字串的單元陣列、單個字串 'all' 或者 'basic'。如果 properties 

等於字串 'all',則所有下述字串列表中的度量資料都將被計算,如果 properties 沒有指定或者等於 'basic',則屬性: 'Area', 'Centroid',  'BoundingBox' 將被計算。下面的列表就是所有有效的屬性字串,它們大小寫敏感並且可以縮寫。

 

Regionprops的所有屬性

'Area' 影象各個區域中畫素總個數
'BoundingBox' 包含相應區域的最小矩形
'Centroid' 每個區域的質心(重心)
'MajorAxisLength'

與區域具有相同標準二階中心矩的橢圓的長軸長度(畫素意義下)
'MinorAxisLength' 與區域具有相同標準二階中心矩的橢圓的短軸長度(畫素意義下)
'Eccentricity' 與區域具有相同標準二階中心矩的橢圓的離心率(可作為特徵)
'Orientation' 與區域具有相同標準二階中心矩的橢圓的長軸與x軸的交角(度)
'Image' 與某區域具有相同大小的邏輯矩陣
'FilledImage' 與某區域具有相同大小的填充邏輯矩陣
'FilledArea' 填充區域影象中的on畫素個數
'ConvexHull' 包含某區域的最小凸多邊形
'ConvexImage' 畫出上述區域最小凸多邊形
'ConvexArea'
填充區域凸多邊形影象中的on畫素個數
'EulerNumber' 幾何拓撲中的一個拓撲不變數——尤拉數
'Extrema' 八方向區域極值點
'EquivDiameter' 與區域具有相同面積的圓的直徑
'Solidity' 同時在區域和其最小凸多邊形中的畫素比例
'Extent' 同時在區域和其最小邊界矩形中的畫素比例
'PixelIdxList' 儲存區域畫素的索引下標
'PixelList' 儲存上述索引對應的畫素座標

 

 

 

 

 

 

 

示例:

clear all; clc; close all;

img = imread('4.jpg');

if ndims(img)==3

    img = rgb2gray(img);

end

img_bw = im2bw(img);

[L, num] = bwlabel(img_bw);

stats_area = regionprops(L,'Area');

stats_centroid = regionprops(L,'Centroid');

 

% 返回標記為1區域的面積

stats_area(1).Area

 

% 返回標記為1區域的質心座標

stats_centroid(1).Centroid

% 返回標記為1區域的質心座標(xy

x=stats_centroid(1).Centroid(1)

y=stats_centroid(1).Centroid(2)