Matlab中bwlabel函数详细解读
首先应当明白一个计算机最基础的概念:0和1在计算机语言里是二进制,所有的信息将转化为由0和1组成的代码进行存储和传输,其中0表示‘关’,1表示‘开’。
L = bwlabel(BW,n)
返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。
4连通或8连通是图像处理里的基本概念: 4连通是指,如果像素的位置在其他像素相邻的上、下、左 或 右,则认为它们是连接着的,连通的,在左上角、左下角、右上角或右下角连接,则不认为他们连通。8连通,是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角连接着,则认为他们是联通的;请注意“或”字的含义,就是满足其中一个条件就认为是连通的。
啥也不说了,上例子,就用matlab帮助中的例子举例说明以上问题。
4连通(只包括上下左右四个方位)计算:标红的区域,0表示‘关’,因此该标红区域与其他区域不连通,为独立区域;标黄区域,同样上下左右均被0包围,与其他区域不连通,所以也为独立区域;黑色加粗区域,被0隔开也为独立区域。因此最终的连通区域个数为3ÿ