matlab连通区域统计,MATLAB bwlabel函数 统计连通区域

L = bwlabel(BW,n) 返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。 四连通或八连通是图像处理里的基本感念:而8连通,是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角连接着,则认为他们是联通的;4连通是指,如果像素的位置在其他像素相邻的上、下、左或右,则认为他们是连接着的,连通的,在左上角、左下角、右上角或右下角连接,则不认为他们连通。 [L,num] = bwlabel(BW,n) 这里num返回的就是BW中连通区域的个数。 补充:我听说过16连通,这应该是在三维空间里的概念了吧。 举例说明: BW =     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     1     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 按4连通计算,方形的区域,和翻转的L形区域,有用是对角连接,不属于连通,所以分开标记,连通区域个数为3 L = bwlabel(BW,4)  结果如下: 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     3     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 而8连通标记,它们是连通的:  [L, num] = bwlabel(BW,8)  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     2     0     1     1     1     0     0     0     2     0     1     1     1     0     0     0     2     0     1     1     1     0     0     2     2     0     1     1     1     0     0     0     0     0 这里 num =     2

MATLAB中有多种函数可以用来提取图像中的连通区域,其中最常用的函数bwlabel和regionprops。 bwlabel函数可以将二值图像中的连通区域标记出来。该函数的输入是一个二值图像,输出是一个与输入图像大小相同的矩阵,其中每个像素点都被赋予一个标签,表示该像素所属的连通区域。不同的连通区域被赋予不同的标签值。需要注意的是,该函数默认将背景像素标签为0。 例如,假设有一个二值图像img,可以使用bwlabel函数对其进行连通区域提取,代码如下: ``` labels = bwlabel(img, 8); ``` 其中,参数8表示使用8连通方式进行区域提取,如果想使用4连通方式,可以将参数改为4。 另一个常用的连通区域提取函数是regionprops。该函数可以返回在二值图像中找到的所有连通区域的一些属性,比如面积、重心位置、外接矩形等。 例如,使用regionprops函数可以获取图像中所有连通区域的面积和重心位置,代码如下: ``` properties = regionprops(labels, 'Area', 'Centroid'); ``` 其中,labels为使用bwlabel函数得到的标签矩阵。 通过调用regionprops函数返回的属性结构数组properties,可以根据需要获取相应的属性值,比如properties(i).Area表示第i个连通区域的面积,properties(i).Centroid表示第i个连通区域的重心位置。 以上就是使用MATLAB中的bwlabel和regionprops函数进行连通区域提取的简单介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值