主要内容

bwconncomp

在二值图像中找到连接的分量

描述

例子

CC= bwconncomp (BW返回连接的组件CC在二值图像中找到BWbwconncomp对于两个维度,默认连接为8,对于三个维度,默认连接为26conndef (ndims (BW),“最大”)更高的维度。

例子

CC= bwconncomp (BW康涅狄格州返回连接的组件康涅狄格州为已连接组件指定所需的连接性。

例子

全部折叠

创建一个小的3d阵列样本。

BW = cat(3, [1 1 0;0 0 0;1 0 0),...[0 1 0;0 0 0;0 1 0),...[0 1 1;0 0 0;0 0 1);

在数组中找到连接的组件。

CC = bwconncomp (BW)
CC =结构体字段:连接:26 ImageSize: [3 3 3] NumObjects: 2 PixelIdxList: {[5x1 double] [3x1 double]}

计算数组中对象的质心。

S = regionprops (CC、“重心”
S =2×1带有字段的结构数组:重心

将图像读入工作区并显示它。

BW = imread (“text.png”);imshow (BW)

图中包含一个坐标轴。轴包含一个image类型的对象。

找到图像中连接组件的数量。

CC = bwconncomp (BW)
CC =结构体字段:连接:8 ImageSize: [256 256] NumObjects: 88 PixelIdxList: {1x88 cell}

确定哪个是图像中最大的组件并删除它(将所有像素设置为0)。

numPixels = cellfun (@numel CC.PixelIdxList);[最大,idx] = max (numPixels);BW (CC.PixelIdxList {idx}) = 0;

显示图像,注意最大的分量恰好是单词different中两个连续的f。

图imshow (BW)

图中包含一个坐标轴。轴包含一个image类型的对象。

输入参数

全部折叠

输入二进制图像,指定为任意维度的数字或逻辑数组。对于数字输入,任何非零像素都被认为是

例子:BW = imread(“text.png”);

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

像素连接性,指定为该表中的一个值。默认连接是8用于二维图像263 d图像。

价值

意义

二维的连接性

四连接

如果像素的边缘相接触,则它们是连接的。两个相邻的像素是同一对象的一部分,如果它们都是on,并沿水平或垂直方向连接。

8-connected

如果像素的边缘或角相接触,则它们是连通的。两个相邻的像素是同一对象的一部分,如果它们都在水平、垂直或对角方向上连接。

三维的连接性

6-connected

如果它们的脸相接触,像素就会连接起来。两个相邻的像素是同一对象的一部分,如果它们都是on并且连接在:

  • 其中一个方向:进,出,左,右,上,下

18-connected

如果像素的面或边缘相接触,它们就被连接起来。如果两个相邻的像素都是on和in,则它们是同一对象的一部分

  • 其中一个方向:进,出,左,右,上,下

  • 两个方向的组合,如垂直或向上

26-connected

如果像素的面、边或角相接触,则它们是相连的。如果两个相邻的像素都是on和in,则它们是同一对象的一部分

  • 其中一个方向:进,出,左,右,上,下

  • 两个方向的组合,如垂直或向上

  • 三个方向的组合,如右上或左下

更高的维度,bwconncomp使用默认值conndef(ndims (BW),“最大”)

连通性也可以通过指定一个3 × 3 ×…3的矩阵0年代和1年代。1-值元素定义相对于的中心元素的邻域位置康涅狄格州.请注意,康涅狄格州必须对中心元素对称。看到指定自定义连接性为更多的信息。

数据类型:|逻辑

输出参数

全部折叠

连接的组件,作为带有四个字段的结构返回。

描述
连接 连接组件(对象)的连接性
图象尺寸 的大小BW
NumObjects 中连接组件(对象)的数量BW
PixelIdxList 1 -NumObjects单元格数组k单元格数组中的-th元素是一个向量,该向量包含单元格中像素的线性索引kth对象。

提示

  • 的函数bwlabelbwlabeln,bwconncomp所有计算连接组件的二进制图像。bwconncomp取代bwlabelbwlabeln.它使用的内存明显更少,有时比其他功能更快。

    函数 输入维度 输出形式 内存使用 连接
    bwlabel 二维 双精度标记矩阵 4或8
    bwlabeln 一天 双精度标签矩阵 任何
    bwconncomp 一天 CC结构体 任何
  • 从二值图像中提取特征,使用regionprops对于默认连接,只要通过即可BW直接进入regionprops使用命令regionprops (BW)

  • 为了计算具有更高内存效率的数据类型的标签矩阵(例如,uint8),用labelmatrix功能上的输出bwconncomp.有关更多信息,请参阅每个函数的文档。

算法

找到连接组件的基本步骤是:

  1. 搜索下一个未标记的像素,p

  2. 使用泛填充算法来标记包含在连接组件中的所有像素p

  3. 重复步骤1和2,直到所有像素都被标记。

扩展功能

介绍了R2009a