Blob检测工具

Blob 检测工具 (BlobTool) 用于检测和定位图像中某一灰度范围内的二维形状,并将其与背景分离开,同时利用该检测工具还可分析 Blob 的面积、形状、方向等特性。该工具适用于高对比度图像检测、缺陷检测等应用。

输入输出终端说明

在工具块编辑区根据需要连接工具的输入输出,终端说明如下表所示。

终端名称

终端类型

数据类型

内容描述

InputImage

输入型

VisionImage

输入的图像

FilterResults

输出型

List`1

检测结果

Note

Blob 检测工具要求输入图像格式为单通道、8 位无符号整型,即灰度图 8UC1 格式。

参数说明

分割

  • 模式-硬阈值分割

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 阈值:像素值阈值。取值范围 0~255。

      若“极性”设置为“黑底白点”,像素灰度值大于该阈值则认为该像素属于白色目标区域,小于该阈值则认为属于黑色背景。

      若“极性”设置为“白底黑点”,像素灰度值大于该阈值则认为该像素属于白色背景,小于该阈值则认为属于黑色目标区域。

  • 模式-软阈值分割

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 低阈值:像素值的低阈值。取值范围 0~255。

    • 高阈值:像素值的高阈值。取值范围 0~255。

      若“极性”设置为“黑底白点”,像素灰度值大于高阈值则认为该像素属于白色目标区域,小于低阈值则认为属于黑色背景,介于高低阈值的像素按照线性变化映射至 0-255 间的值。

      若“极性”设置为“白底黑点”,像素值大于高阈值则认为该像素属于白色背景,小于低阈值则认为属于黑色目标区域,介于高低阈值的像素按照线性变化映射至 0-255 间的值。

  • 模式-关联硬阈值分割:适用于有亮度变化的图片。

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 阈值比:在低尾部像素和高尾部像素之间, 从小到大统计像素个数, 当个数所占比例大于等于阈值比,此时的像素值作为硬阈值进行硬阈值分割。取值范围 0~1。

    • 低尾部:低尾部像素占比。取值范围 0~1。

    • 高尾部:高尾部像素占比。取值范围 0~1。

  • 模式-硬动态阈值分割:根据输入图像的灰度直方图自动计算一个合适的分割阈值。该方法适用于灰度直方图呈现双峰分布的图像。

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

  • 模式-关联软阈值分割

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 低阈值比:在低尾部像素和高尾部像素之间, 从小到大统计像素个数,当个数所占比例大于等于低阈值比,此时的像素值作为软阈值的低阈值进行软阈值分割。取值范围 0~1。

    • 高阈值比:在低尾部像素和高尾部像素之间,从小到大统计像素个数,当个数所占比例大于等于高阈值比,此时的像素值作为软阈值的高阈值进行软阈值分割。取值范围 0~1。

    • 低尾部:从小到大统计像素个数, 个数大于等于低尾部时,取对应像素值作为低尾部像素。取值范围 0~1。

    • 高尾部:从小到大统计像素个数,个数大于等于 (1-高尾部) 时, 取对应像素值作为高尾部像素。取值范围 0~1。

  • 模式-像素映射:该方法适用于 Blob 内部有孔洞,但是孔洞的颜色和背景不相同的情况。

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 映射低/高阈值:介于映射低阈值和映射高阈值之间的像素为目标。取值范围 0~255。

  • 模式-差分图阈值分割:该方法适用于目标与部分背景灰度值相同时的图像。可使用一张不含目标的背景图与当前待分割的图作差分,从而分割出目标物体。

    • 极性:可选择黑色背景白色目标、白色背景黑色目标。

    • 差分阈值:先后拍摄的两张图像的灰度差值大于该阈值则认为是目标。取值范围 0~255。

形态学运算

对分割后的目标进行形态学处理,降低噪声对目标的干扰。

勾选后,可使能形态学运算。

Blob-operation-settings

  • icon-add-points:点击icon-add-points,在下拉框中选择形态学运算。

  • icon-delete-points:若需删除某个已添加的形态学运算,在表格中选中对应行并点击icon-delete-points

Note

形态学运算说明

  • 膨胀:对图像中的白色(高亮)部分进行膨胀,邻域扩张,处理后拥有比原来更大的高亮区域。

  • 腐蚀:对图像中的白色(高亮)部分进行腐蚀,邻域被蚕食,处理后拥有比原来更小的高亮区域。

  • 开运算:先腐蚀后膨胀,可以分离物体,消除亮度较高的细小区域,而且不会明显改变其他物体区域的面积。

  • 闭运算:先膨胀后腐蚀。可以消除物体内部的细小黑色孔洞,也不会明显改变其他物体区域面积。

  • 水平腐蚀:扩大目标内部垂直方向的洞,腐蚀垂直方向的目标。

  • 矩形腐蚀:扩大目标内部的洞,腐蚀目标。

  • 垂直腐蚀:腐蚀目标内部水平方向的洞,扩大水平方向的目标。

  • 水平膨胀:腐蚀目标内部垂直方向的洞,扩大垂直方向的目标。

  • 矩形膨胀:腐蚀目标内部的洞,扩大目标。

  • 垂直膨胀:腐蚀目标内部水平方向的洞,扩大水平方向的目标。

  • 水平开运算:消除垂直方向的较小目标,但不改变较大目标内部垂直方向的孔洞。

  • 矩形开运算:消除较小目标,但不改变较大目标内部的孔洞。

  • 垂直开运算:消除水平方向的较小目标,但不改变较大目标内部水平方向的孔洞。

  • 水平闭运算:消除较大目标内部垂直方向的孔洞,但不改变垂直方向的较小目标。

  • 矩形闭运算:消除较大目标内部的孔洞,但不改变较小目标的大小。

  • 垂直闭运算:消除较大目标内部水平方向的孔洞,但不改变水平方向的较小目标。

  • 圆形腐蚀:白色区域以像素4邻域向内腐蚀。

  • 圆形膨胀:白色区域以像素4邻域向内扩张。

  • 圆形开运算:白色区域以像素4邻域向内先腐蚀后膨胀。

  • 圆形闭运算:白色区域以像素4邻域向内先膨胀后腐蚀。

区域

  • 若需选择整个输入图为检测区域,则在“区域”处将“形状”设置为“无-使用整个图像”。

  • 若需选择输入图部分区域为检测区域,则在“区域”处将“形状”设置为“Rectangle”并选择以下任意方式设置检测区域大小和位置。

    • 在页面左侧输入框中设置检测区域左上角坐标 (X,Y)、宽度和高度。

    • 点击“适应图像”,检测区域自动居中,其大小自适应图像。

测得尺寸

可以选择输出多种结果,同时也可以进行结果的过滤,取高低阈值之间的结果。

Blob 检测工具页面“测得尺寸”处设置:

  1. 点击icon-add-points,在下拉框中选择需输出的结果。

  2. 可选: 若需删除某个已添加的结果,在表格中选中对应行并点击icon-delete-points

  3. 在表格中设置“尺寸/过滤”一列。

    • 运行时:显示结果数据。

    • 过滤:用于过滤结果数据,取高低阈值之间的数据作为最终结果输出。

属性

名称

描述

area

Blob面积

Blob所占的像素个数

areaByCrossProduct

Blob叉积面积

Blob轮廓的叉积面积

areaConvexHull

凸包面积

Blob轮廓的凸包面积

perimeter

周长

Blob轮廓的周长

perimeterConvexHull

凸包周长

Blob的凸包周长

centroidX

质心X

Blob质心X坐标

centroidY

质心Y

Blob质心Y坐标

holes

内部Blob数目

Blob内部洞的个数

centroidDistanceMax

质心最大距离

轮廓与质心的最大距离

centroidDistanceMin

质心最小距离

轮廓与质心的最小距离

centroidDistanceMean

质心平均距离

轮廓与质心的平均距离

areaToPerimeterRatio

面积周长比

轮廓的面积周长比,即面积与周长之比。

circularity

圆度

轮廓的圆度,即周长的平方与面积之比

thinnessRatio

细度比

轮廓的细度比,即 \(4 \pi*\frac{面积}{周长^2}\)

convexity

凸度

轮廓的凸度,即周长与凸包面积之比

rectTopLeftX

矩形左上点X

正矩形左上点的X坐标

rectTopLeftY

矩形左上点Y

正矩形左上点的Y坐标

rectCenterX

矩形中心X

正矩形中心点的X坐标

rectCenterY

矩形中心Y

正矩形中心点的Y坐标

rectWidth

矩形宽度

正矩形的宽度

rectHeight

矩形高度

正矩形的高度

rRectCenterX

旋转矩形中心X

Blob的外接旋转矩形中心点的X坐标

rRectCenterY

旋转矩形中心Y

Blob的外接旋转矩形中心点的Y坐标

rRectWidth

旋转矩形宽度

Blob的外接旋转矩形的宽度

rRectHeight

旋转矩形高度

Blob的外接旋转矩形的高度

rRectAngle

旋转矩形角度

Blob的外接旋转矩形的角度

circleCenterX

圆中心X

圆形的X坐标

circleCenterY

圆中心Y

圆形的Y坐标

circleRadius

圆半径

圆形的半径

equalAreaCircleRadius

等效圆半径

与Blob面积相同的圆的半径(其圆心定与质心)

ellipseCenterX

椭圆中心X

椭圆中心的X坐标

ellipseCenterY

椭圆中心Y

椭圆中心的Y坐标

ellipseMajorAxis

椭圆主轴

椭圆的主轴(长轴)

ellipseMinorAxis

椭圆副轴

椭圆的副轴(短轴)

ellipseAngle

椭圆角度

椭圆的角度

FeretMaxDiameter

最大费雷特直径

椭圆轮廓中最远的两个点定为最大费雷特直径

FeretOrthogonalDiamter

正交费雷特直径

与最大费雷特直径正交方向的最大间隔

FeretMinDiamter

最小费雷特直径

与最大费雷特直径正交方向的最小间隔

Note

FeretMaxDiameter/FeretOrthogonalDiamter/FeretMinDiamter

Feret Diameter 费雷特直径,也称卡尺直径,将要测量的物体放进卡尺的钳口中,卡尺朝向一个指定的角度,在保持这个角度的同时,紧紧闭合钳口,此时卡尺两鄂之间距离即为该角度的费雷特直径。常见角度有 0 度、45 度、90 度、135 度,以逆时针为正。该指标常用于细胞或粒子分析粒径。

  • FeretMaxDiameter 最大费雷特直径:形状周边最远两个像素之间的距离。

  • FeretOrthogonalDiamter 正交费雷特直径:位于形状上下与最大费雷特直径所在方向平行的两直线间的最大间隔。

  • FeretMinDiamter 最小费雷特直径:形状最小外接矩形的短边。

图形

  • 显示搜索区域:勾选“显示搜索区域”,图形显示区会显示绿色的搜索框。

  • 显示匹配的边界:勾选“显示匹配的边界”,图形显示区会显示金黄色的匹配边界。

结果说明

点击 icon-runBlob 检测工具页面右下角显示检测结果。