VisionPro 中 卡尺 CogCaliperTool
- 一、卡尺工具概述和工作原理
- 1. 工具简介
- 2. 工作原理
- 二、卡尺核心功能
- 1. 核心功能
- 2. 边缘检测
- 三、关键参数详解
- 1. 设置选项中参数
- 2. 区域框参数
- 3. 计分参数
- 四、计分模式详解
- 1. 计分器类型与评分依据
- 2. 位置计分
- 3. 尺寸计分
- 对比度计分
- 跨立计分
- 五、项目实践
- 1. 使用卡尺 官方样例
- 2. 常见问题
一、卡尺工具概述和工作原理
1. 工具简介
CogCaliperTool 是康耐视 VisionPro 软件中的精密测量工具,用于在一维投影信号中查找边缘,实现尺寸与位置测量。它相当于一把“数字游标卡尺”,速度快、精度高。
用途
卡尺工具主要用于寻找图像中的边缘或边缘对。在实际应用中我们经常需要检测物体的长度,宽度等尺寸信息。这时需要用到卡尺工具。它能够准确地识别出图像中的边缘,并输出边缘中心点在图像坐标中地位置,从而帮助我们获取物体地尺寸信息。
注意的是:卡尺工具和其他的视觉工具不同的是它需要知道待测边缘大致位置和特征。
边缘:图像的边缘是图像中亮度,颜色或纹理发生急剧变化的地方,通常代表对象的边界。边缘检测在图像分割,识别,压缩等领域都有着广泛的应用。
2. 工作原理
- 在图像中定义一个矩形投影区域。
- 工具沿矩形垂直方向将区域内的像素灰度值进行投影(累加或平均),生成一维灰度轮廓图。
- 在该轮廓图中识别灰度剧烈变化的位置,即边缘。
- 根据用户选择的模式输出单个边缘位置或边缘对之间的宽度。
二、卡尺核心功能
1. 核心功能
- 尺寸测量:测量边缘对之间的距离(宽度、间隙)。
- 位置测量:返回单个边缘或边缘对中点的坐标。
- 边缘计数:统计符合条件的边缘数量。
2. 边缘检测
- 单边缘模式:查找区域内最显著的一条边,用于定位边界。
- 边缘对模式:查找一对边缘(一亮一暗或一暗一亮),直接输出宽度。
三、关键参数详解
1. 设置选项中参数
过滤一半像素具体说明:过滤一半像素指的是滤波器的尺寸。一般来说,滤波器的宽度和边缘宽度一样的时候,过滤效果最好,能够得到比较明显准确的边缘。边缘宽度定义为从亮到暗或者从暗到亮的变换过程中占据了多少个像素。左边三格为前景,右边三格为背景,中间三格则为边缘宽度3。所以此处建议设置为3。
2. 区域框参数
特别注意投影方向一定要与边缘线平行,不然可能会查找不出来我们想要的边缘线
3. 计分参数
决定工具通过哪些维度为找到的候选边缘“打分”,并选出综合评分最高的结果。常用评分项如Position(距离近)、Contrast(对比度高),通过权重配置可让工具选择最符合预期的边缘。
四、计分模式详解
1. 计分器类型与评分依据
当区域内存在多个候选边缘时,可通过计分器(Scorers)为每个结果打分,得分最高的作为最佳输出。
| 计分器类型 | 评分依据 |
|---|---|
| 对比度 (CogCaliperScorerContrast) | 边缘越清晰,得分越高 |
| 位置 (CogCaliperScorerPosition) | 离区域中心越近,得分越高 |
| PositionNeg | 离区域中心越远,得分越高 |
| PositionNorm | 归一化位置越近中心,得分越高 |
| PositionNormNeg | 归一化位置越远中心,得分越高 |
| SizeDiffNorm | 实际宽度与预期宽度越接近,得分越高 |
| SizeDiffNormAsym | 对过小/过大偏差分别惩罚,得分越高 |
| SizeNorm | 宽度越接近指定尺寸,得分越高 |
| 跨立 (CogCaliperScorerStraddle) | 边缘对关于中心越对称,得分越高 |
归一化:指的是将边缘在搜索区域内的实际物理坐标(像素),转换为一个 0 到 1 之间的相对比例值。
2. 位置计分
离区域中心越近,得分越高
四种位置计分详细图
四种位置计分对比
Position:根据绝对距离进行评分,常用于单边检测。
PositionNeg:使用有符号距离对边缘或边缘对进行评分,中心左侧为负,右侧为正,越靠近右边缘得分越低。
PositionNorm:对边缘对的标准化位置进行评分,标准化位置是边缘对位置除以预期宽度,不受空间单位或区域大小影响。
PositionNormNeg:基于标准化的有符号距离对边缘进行评分,中心左侧为负,右侧为正,越靠近右侧得分越低。
3. 尺寸计分
三种尺寸计分图
三种尺寸计分对比
SizeDiffNorm:仅用于边缘对模式。实际测量宽度与预期宽度(Edge Pair Width 参数)之间的差异越小,得分越高。评分经过归一化。
SizeDiffNormAsym:仅用于边缘对模式。与 SizeDiffNorm 类似,但允许对“过小”和“过大”的偏差设置不同的惩罚权重,适用于非对称公差场景。
SizeNorm:仅用于边缘对模式。根据实际测量的宽度本身(而非与预期宽度的差值)来评分,常用于寻找特定宽度的特征(如宽度为 50 像素的物体)
对比度计分
对比度是指所找边缘两侧颜色的色差值。
对于边缘对,对比度是两个边线的平均对比度。
在8位灰度图像中白色对应255,黑色对应0。如果由白到黑或者由黑到白,色差值都是255。
对于对比度计分,默认YO=1,Y1-0对比度越大,得分越接近1。
当对比度>=255时,得分最高为1,当在0~255之间时,从0线性映射到1。例如对比度为100,则得分=100 * 1/255=0.39
对比度计分器(Contrast Scorer)的核心逻辑很简单:边缘越清晰、明暗变化越剧烈,得分就越高。
在卡尺工具中,它会计算边缘两侧的灰度差(即对比度),差值越大说明边界越明显,工具就越倾向于选择这条边缘作为结果。反之,模糊或微弱的边缘得分较低,容易被忽略。
跨立计分
跨立计分器(Straddle Scorer)用于边缘对模式,它衡量的是这一对边缘是否“骑跨”在测量区域的正中央。
简单概述的话如果左边缘和右边缘离区域中心线的距离差不多(即边缘对的中点和区域中心重合),得分就越高。它偏爱那些对称分布在中心两侧的边缘对,而不是偏到一边去的边缘对。
五、项目实践
1. 使用卡尺 官方样例
引入官方图片
创建CogCaliperTool工具 引入图片资源
设置卡尺参数
这里对比度阈值因为明暗对比度较为明显 一个120+ 一个200多 所以设为10,未达到效果可以更改。
最大化图像大约五六个像素需要过滤 所以设为5
**计分函数
**
结果分析图
拓展也可以增加文字显示 使用CogCreateGraphicLaberTool工具
2. 常见问题
现象| 可能原因| 解决方法
找不到边缘| 对比度阈值过高 / 区域位置偏差 |降低阈值,检查区域是否覆盖目标
测量值不稳定| 噪点干扰 / 极性设置错误 |增加过滤像素,检查极性是否与实际一致
边缘对宽度不准| 宽度容差过小 / 区域内有多余边缘| 放宽容差,或使用计分器剔除干扰