Definition of Object Features

斑点分析提取检测到对象的地物特征。不提供对象本身的图像。斑点分析算子提供最常见对象特征的计算,这些特征使用几何和统计方法描述对象。相应地,这些特征

  • 面积
  • 边界框
  • 重心
  • 轮廓长度

受到支持。下面将对每个特征进行详细定义。

Area

图像中的每个对象都可以通过对象中包含的所有前景像素的坐标列表来描述 。 因此,对象或其区域 R 可以描述为

对象的面积是该对象的像素数,即区域 R 的大小。

换句话说:对象的面积是其所有像素的总和。此特征通常用于区分不同大小的对象。

Bounding Box

区域 R 的边界框是刚好包围对象的最小平行轴矩形。这是一个简单但非常实用的特征,用于描述对象在图像中的位置。

此特征为每个对象提供四个值,在 VisualApplets 中描述为

对于 'BlobDetector1D' 和 'Blob_Analysis_1D' 算子,此特征有所不同,因为无法给出对象的绝对坐标。

Center of Gravity

重心是在 x 和 y 方向上计算的,并且是对象所有绝对坐标的总和。每个对象的原点是图像的左上角。

和

重心值未进行归一化。在斑点分析之后,需要将它们除以对象面积。要执行此除法,请使用 DIV 算子(来自 arithmetics 库)。或者,您也可以在主机 PC 上计算该除法。

和

对于 'BlobDetector1D' 和 'Blob_Analysis_1D' 算子,此特征有所不同,因为无法给出对象的绝对坐标。

Contour Length

此特征由对象所有轮廓的长度定义。包括外边缘和内边缘(后者由孔洞引起)。

[注意] 此特征仅适用于旧版算子 Blob_Analysis_1D 和 Blob_Analysis_2D

此特征仅适用于旧版算子 'Blob_Analysis_1D' 和 'Blob_Analysis_2D',不适用于算子 'BlobDetector1D' 和 'BlobDetector2D'。

Contour Length 区分 4 邻域和 8 邻域。如果将斑点分析算子设置为使用 4 邻域检测对象,则轮廓长度仅通过在正交方向上扫描对象的边缘来确定。如果将斑点分析算子设置为 8 邻域,则轮廓长度还将考虑对角线连接的对象边缘。因此,根据算子的邻域设置,该特征会提供两个不同的结果。

下面两幅图说明了这种区别。这两幅图都显示包含单个对象的图像。

在上图中,使用 4 邻域检测对象。对于此对象,轮廓长度将位于对象边缘的所有像素相加。仅考虑水平和垂直像素连接。因此,该对象的轮廓长度为 30x 正交长度。

在下图中,斑点分析使用 8 邻域。轮廓长度还考虑对角线边缘。该对象的轮廓长度结果为 14x 正交长度 + 8x 对角线长度。

结果在轮廓长度上有所不同。

4 邻域:正交轮廓 = 30,对角线 = 0

图 396. 4 连通邻域:正交轮廓线 = 30,对角线轮廓线 = 0


8 邻域:正交轮廓 = 14,对角线 = 8

图 397. 8 连通邻域:正交轮廓线 = 14,对角线轮廓线 = 8


对角连接两个相邻像素的边缘具有轮廓长度 其代表等腰三角形的斜边。此平方根运算不由斑点分析算子执行。请确保在您的设计中随后执行此运算。总轮廓长度可以通过以下方式获得

轮廓长度的对角线分量对于边缘不与图像边缘平行的对象非常重要。

例如,半径为 5.5 像素的圆,其周长为 。下面的图展示了这个圆。在左侧图中,使用 8 邻域计算周长。在右侧图中,使用 4 邻域计算周长。该示例表明,使用 8 邻域计算的结果 (32.97) 接近理论结果 (34.56),而使用 4 邻域计算的结果 (40) 则相当差——它等于具有相同直径的矩形的周长。

使用 8-connected neighborhood(左)和 4-connected neighborhood(右)计算周长

图 398. 使用 8 连通邻域(左)和 4 连通邻域(右)计算周长