轉至:http://www.cnblogs.com/xiaojidan/archive/2012/08/20/2647261.html
功能:標注二進制圖像中已連接的部分。
語法:L = bwlabel(BW,n) [L,num] = bwlabel(BW,n)
其中BW為輸入圖像;N可取值為4或8表示連接四連通或八連通區域;NUM為找到的連通區域數目;L為輸出圖像矩陣,其元素值為整數,背景被標記為0,第一個連通區域被標記為1,第二個連通區域被標記為2,依此類推.所以你不明白的1,2,3即為第1,2,3個連通區域的標記。例子:
(1):
A=[0 1 1 0 1 0 1
0 1 1 0 0 0 1
0 1 1 0 1 0 1];
[L,M]=bwlabel(A,4);
此時L=[0 1 1 0 2 0 4
0 1 1 0 0 0 4
0 1 1 0 3 0 4] , M=4
(2):
A=[0 1 1 0 0 0 1
0 1 1 0 0 0 1
0 1 1 0 0 0 1];
[L,M]=bwlabel(A,4);
L=[0 1 1 0 0 0 2
0 1 1 0 0 0 2
0 1 1 0 0 0 2], M=2;
(3):
A=[0 1 1 0 0 0 1
0 1 1 0 0 0 1
0 1 1 0 1 0 1];
[L,M]=bwlabel(A,4);
L=[0 1 1 0 0 0 3
0 1 1 0 0 0 3
0 1 1 0 2 0 3] M=3
解釋:四連通區域是這樣的: 1
1 0 1
1
以上的0代表中心像素點所在的位置就是四連通區域。也就是0的上向左右四個點。
八連通區域是:1 1 1
1 0 1
1 1 1
也就是除了上下左右以外還有左上角右上角左下角右下角四個位置。
八連通區域包含了四連通區域,所以說四連通的話肯定八連通的。
M說明了A中有多少個連通區域,L則把這些連通區域用數字表示出來,相同的數字表示同一個區域,例(1)中有4個連通區域,其中,L矩陣中的1代表第一個連通區域,即在A中對應像素點是屬於第一個連通區域,L中的2,3,4有類似的意思。