主要内容

标签和测量组件连接在一个二进制图像

探测连接组件

一个连接组件或一个对象在一个二进制图像是一组相邻像素。确定哪些像素相邻取决于像素连接定义。为一个二维的图像,有两个标准的连接性:

  • 如果边缘触摸4-connectivity——像素连接。两个相邻的像素是相同的对象如果他们都和沿水平或垂直方向连接。

  • 8-connectivity——像素连接如果边缘或角落联系。两个相邻像素属于同一对象如果他们都是沿着水平和连接,垂直或对角线方向。

您还可以定义非标准连接,或连接性高维图像。有关更多信息,请参见像素连接

这个图显示了两个相同的矩阵表示一个二进制图像。在每一个矩阵是一个覆盖使用4-connectivity 8-connectivity,突显出连接组件。有三种使用4-connectivity连接组件,但只有两个使用8-connectivity连接组件。

你可以计算通过使用连接组件bwconncomp函数。在此示例代码中,BW是二进制矩阵上面的图所示。对于这个示例,指定一个4连接,两个相邻像素属于同一对象如果他们都和沿水平或垂直方向连接。的PixelIdxList字段标识像素属于每个连接组件的列表。

BW = 0 (8、8);BW (2:4, 2:3) = 1;BW (5:7、4:5) = 1;BW (2, 6:8) = 1;BW(3七8)= 1;BW
BW = 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
cc4 = bwconncomp (BW, 4)
cc4 =连接:4图象尺寸:[8]NumObjects: 3 PixelIdxList: {x1双[6][6 x1双][5 x1双]}

相比之下,计算相同的二进制映像的连接组件使用默认连接,8。

cc8 = bwconncomp (BW)
cc8 =连接:8图象尺寸:[8]NumObjects: 2 PixelIdxList: {[12 x1双][5 x1双]}

标签连接组件

标签连接组件识别的过程连接组件在一个图像和分配每一个独特的标签。由此产生的矩阵称为标签矩阵

这个图显示了标签的两个标签矩阵连接组件使用4-connectivity和8-connectivity,分别。

每个连通分支都有一个独特的数字标签,按顺序从1开始,增加

创建一个矩阵通过使用标签labelmatrix函数。此示例代码继续连接组件结构,cc4在前一节中定义。

L4 = labelmatrix (cc4)
L4 = 8×8 uint8矩阵0 0 0 0 0 0 0 0 0 1 1 0 0 3 3 3 0 1 1 0 0 0 3 3 0 1 1 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0

可视化组件,连接显示标签作为一个伪色彩图像通过使用矩阵label2rgb函数。标签识别标签中的每个对象矩阵映射到一个不同的颜色在colormap有关。您可以指定colormap、背景颜色和标签中的对象矩阵如何映射到colormap颜色。

RGB_label = label2rgb (L4、@copper“c”,“洗牌”);imshow (RGB_label)

标记对象和背景都具有不同的颜色

选择对象在一个二进制图像

您可以使用bwselect函数选择单个对象在一个二进制图像。在输入图像中指定像素以编程方式或用鼠标交互。bwselect返回一个只包含这些对象的二进制图像输入图像,包含一个指定的像素。

例如,使用这个命令来选择对象在图像显示在当前轴。

BW = bwselect;

瞄准光标变化时的形象。单击你想要选择的对象;bwselect显示在每个像素你点击一个小明星。当你完成,按返回bwselect返回一个二进制图像包含您所选择的对象,并移除星星。

连接组件的度量属性

regionprops函数可以返回测量几个连接组件的属性。其他功能测量一个属性。例如,bwarea函数返回一个二进制图像的面积。

这个示例使用bwarea确定面积比例增加circbw.tif结果从一个扩张手术。面积大小的衡量图像的前景和大致相等的数量像素在图像。然而,bwarea不只是计算像素的数量设置为。相反,bwarea当计算区域权重不同的像素模式不平等。这个加权补偿失真固有的代表一个连续与离散图像像素。例如,50像素的对角线超过50像素的水平线。结果的权重bwarea使用,水平线面积50,但对角线面积62.5。

BW = imread (“circbw.tif”);SE = 1 (5);BW2 = imdilate (BW, SE);增加= (bwarea (BW2)——bwarea (BW)) / bwarea (BW)
增加= 0.3456

另请参阅

||||

相关的例子

更多关于