Blob检测工具
Blob 检测工具 (BlobTool) 用于检测和定位图像中某一灰度范围内的二维形状,并将其与背景分离开,同时利用该检测工具还可分析 Blob 的面积、形状、方向等特性。该工具适用于高对比度图像检测、缺陷检测等应用。
输入输出终端说明
在工具块编辑区根据需要连接工具的输入输出,终端说明如下表所示。
终端名称 |
终端类型 |
数据类型 |
内容描述 |
---|---|---|---|
InputImage |
输入型 |
VisionImage |
输入的图像 |
FilterResults |
输出型 |
List`1 |
检测结果 |
Note
Blob 检测工具要求输入图像格式为单通道、8 位无符号整型,即灰度图 8UC1 格式。
参数说明
分割
模式-硬阈值分割
模式-软阈值分割
模式-关联硬阈值分割:适用于有亮度变化的图片。
模式-硬动态阈值分割:根据输入图像的灰度直方图自动计算一个合适的分割阈值。该方法适用于灰度直方图呈现双峰分布的图像。
模式-关联软阈值分割
模式-像素映射:该方法适用于 Blob 内部有孔洞,但是孔洞的颜色和背景不相同的情况。
模式-差分图阈值分割:该方法适用于目标与部分背景灰度值相同时的图像。可使用一张不含目标的背景图与当前待分割的图作差分,从而分割出目标物体。
形态学运算
对分割后的目标进行形态学处理,降低噪声对目标的干扰。
勾选后,可使能形态学运算。
:点击
,在下拉框中选择形态学运算。
:若需删除某个已添加的形态学运算,在表格中选中对应行并点击
。
Note
形态学运算说明
膨胀
:对图像中的白色(高亮)部分进行膨胀,邻域扩张,处理后拥有比原来更大的高亮区域。腐蚀
:对图像中的白色(高亮)部分进行腐蚀,邻域被蚕食,处理后拥有比原来更小的高亮区域。开运算
:先腐蚀后膨胀,可以分离物体,消除亮度较高的细小区域,而且不会明显改变其他物体区域的面积。闭运算
:先膨胀后腐蚀。可以消除物体内部的细小黑色孔洞,也不会明显改变其他物体区域面积。
水平腐蚀:扩大目标内部垂直方向的洞,腐蚀垂直方向的目标。
矩形腐蚀:扩大目标内部的洞,腐蚀目标。
垂直腐蚀:腐蚀目标内部水平方向的洞,扩大水平方向的目标。
水平膨胀:腐蚀目标内部垂直方向的洞,扩大垂直方向的目标。
矩形膨胀:腐蚀目标内部的洞,扩大目标。
垂直膨胀:腐蚀目标内部水平方向的洞,扩大水平方向的目标。
水平开运算:消除垂直方向的较小目标,但不改变较大目标内部垂直方向的孔洞。
矩形开运算:消除较小目标,但不改变较大目标内部的孔洞。
垂直开运算:消除水平方向的较小目标,但不改变较大目标内部水平方向的孔洞。
水平闭运算:消除较大目标内部垂直方向的孔洞,但不改变垂直方向的较小目标。
矩形闭运算:消除较大目标内部的孔洞,但不改变较小目标的大小。
垂直闭运算:消除较大目标内部水平方向的孔洞,但不改变水平方向的较小目标。
圆形腐蚀:白色区域以像素4邻域向内腐蚀。
圆形膨胀:白色区域以像素4邻域向内扩张。
圆形开运算:白色区域以像素4邻域向内先腐蚀后膨胀。
圆形闭运算:白色区域以像素4邻域向内先膨胀后腐蚀。
区域
若需选择整个输入图为检测区域,则在“区域”处将“形状”设置为“无-使用整个图像”。
若需选择输入图部分区域为检测区域,则在“区域”处将“形状”设置为“Rectangle”并选择以下任意方式设置检测区域大小和位置。
在页面左侧输入框中设置检测区域左上角坐标 (X,Y)、宽度和高度。
点击“适应图像”,检测区域自动居中,其大小自适应图像。
测得尺寸
可以选择输出多种结果,同时也可以进行结果的过滤,取高低阈值之间的结果。
在Blob 检测工具页面“测得尺寸”处设置:
点击
,在下拉框中选择需输出的结果。
可选: 若需删除某个已添加的结果,在表格中选中对应行并点击
。
在表格中设置“尺寸/过滤”一列。
运行时:显示结果数据。
过滤:用于过滤结果数据,取高低阈值之间的数据作为最终结果输出。
属性 |
名称 |
描述 |
---|---|---|
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 最小费雷特直径:形状最小外接矩形的短边。
图形
显示搜索区域:勾选“显示搜索区域”,图形显示区会显示绿色的搜索框。
显示匹配的边界:勾选“显示匹配的边界”,图形显示区会显示金黄色的匹配边界。
结果说明
点击 ,Blob 检测工具页面右下角显示检测结果。