天天看點

matlab中連通域處理函數 MATLAB連通域标記函數

MATLAB連通域标記函數

L = bwlabel(BW,n)

傳回一個和BW大小相同的L矩陣,包含了标記了BW中每個連通區域的類别标簽,這些标簽的值為1、2、num(連通區域的個數)。n的值為4或8,表示是按4連通尋找區域,還是8連通尋找,預設為8。

[L,num] = bwlabel(BW,n)

這裡num傳回的就是BW中連通區域的個數。

一些連通域處理函數,轉自AmazingJack的專欄:http://m.blog.csdn.net/blog/AmazingJack/24417891

1、 matlab函數bwareaopen──删除小面積對象 格式:BW2 = bwareaopen(BW,P,conn)

作用:删除二值圖像BW中面積小于P的對象,預設情況下使用8鄰域。

算法:

(1)Determine the connected components.

L = bwlabeln(BW, conn);

(2)Compute the area of each component.

S = regionprops(L, 'Area');

(3)Remove small objects.

bw2 = ismember(L, find([S.Area] >= P));

2、matlab函數bwarea──計算對象面積

格式:total = bwarea(BW)

作用:估計二值圖像中對象的面積。

注:該面積和二值圖像中對象的像素數目不一定相等。

3、matlab函數imclearborder──邊界對象抑制

格式:IM2 = imclearborder(IM,conn)

作用:抑制和圖像邊界相連的亮對象。若IM是二值圖,imclearborder将删除和圖像邊界相連的對象。預設情況conn=8。

注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures.

算法:

(1)Mask image is the input image.

(2)Marker image is zero everywhere except along the border, where it equals the mask image.

4、matlab函數bwboundaries──擷取對象輪廓

格式:B = bwboundaries(BW,conn)(基本格式)

作用:擷取二值圖中對象的輪廓,和OpenCV中cvFindContours函數功能類似。B是一個P×1的cell數組,P為對象個數,每個cell 是Q×2的矩陣,對應于對象輪廓像素的坐标。

5、matlab函數imregionalmin──擷取極小值區域

格式:BW = imregionalmin(I,conn)

作用:尋找圖像I的極小值區域(regional maxima),預設情況conn=8。

Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.

6、matlab函數bwulterode──距離變換的極大值

格式:BW2 = bwulterode(BW,method,conn)

作用:終極腐蝕。尋找二值圖像BW的距離變換圖的區域極大值(regional maxima)。用于距離變換的距離預設為euclidean,連通性為8鄰域。

7、regionprops統計被标記的區域的面積分布,顯示區域總數。

函數regionprops文法規則為:STATS = regionprops(L,properties)

該函數用來測量标注矩陣L中每一個标注區域的一系列屬性。

L中不同的正整數元素對應不同的區域,例如:L中等于整數1的元素對應區域1;L中等于整數2的元素對應區域2;以此類推。

傳回值STATS是一個 長度為max(L()的結構數組,結構數組的相應域定義了每一個區域相應屬性下的度量。

Properties可以是由逗号分割的字元串清單、包含字元 串的單元數組、單個字元串'all'或者'basic'。如果properties等于字元串'all',則表1中的度量資料都将被計算;如果properties等于字元串'basic',則屬性:'Area','Centroid'和'BoundingBox'将被計算。表1就是所有有效的屬性字元串。

表1 屬性字元串清單

properties值

度量圖像區域的屬性或功能

'Area'     圖像各個區域中像素總個數

'BoundingBox'     包含相應區域的最小矩形

'Centroid'             每個區域的質心(重心)

'MajorAxisLength'      與區域具有相同标準二階中心矩的橢圓的長軸長度(像素意義下)

'MinorAxisLength'   與區域具有相同标準二階中心矩的橢圓的短軸長度(像素意義下)

'Eccentricity'           與區域具有相同标準二階中心矩的橢圓的離心率(可作為特征)

'Orientation'   與區域具有相同标準二階中心矩的橢圓的長軸與x軸的交角(度)

'Image'        與某區域具有相同大小的邏輯矩陣

'FilledImage'   與某區域具有相同大小的填充邏輯矩陣

'FilledArea'   填充區域圖像中的on像素個數

'ConvexHull'   包含某區域的最小凸多邊形

'ConvexImage'   畫出上述區域最小凸多邊形

'ConvexArea'   填充區域凸多邊形圖像中的on像素個數

'EulerNumber'    幾何拓撲中的一個拓撲不變量——歐拉數

'Extrema'   八方向區域極值點

'EquivDiameter'   與區域具有相同面積的圓的直徑

'Solidity'    同時在區域和其最小凸多邊形中的像素比例

'Extent'     同時在區域和其最小邊界矩形中的像素比例

'PixelIdxList'    存儲區域像素的索引下标

'PixelList'     存儲上述索引對應的像素坐标