1. 模块概述
测量模块是海康机器人 VisionMaster(VM)算法平台「测量」工具集的核心组成部分,共包含 12 个工具 ,用于在「定位」模块提取出几何特征之后,对特征之间的位置关系、形状尺寸、亮度/灰度 进行量化计算。它不直接做图像匹配,而是接收上游圆查找、直线查找、顶点检测等工具输出的点 / 线 / 圆对象,输出标准化数值(距离、角度、半径、亮度、统计值)。

按功能可分为四大类:
| 类别 | 工具 | 核心作用 |
|---|---|---|
| 几何关系测量 | 线圆测量、圆圆测量、点圆测量、点线测量、线线测量、点点测量 | 解算两种几何基元之间的距离 / 角度 |
| 几何拟合 | 圆拟合、直线拟合 | 基于离散点拟合出标准圆 / 直线 |
| 图像像素分析 | 亮度测量、像素统计、直方图工具 | 对 ROI 内灰度值做统计分析 |
| 基准构建 | 几何创建 | 手动或按坐标创建虚拟几何基元,供测量/定位引用 |
2. 几何关系测量类
几何关系测量类共 6 个工具,负责解算点、线、圆三种几何基元两两之间的距离与角度关系,是产线上最常用的测量手段。
2.1 线圆测量
- 功能:测量一条直线与一个圆之间的位置关系。
- 输入:直线对象、圆对象、测量类型(圆心距 / 切线距离 / 最短距离)。
- 输出:直线到圆心的垂直距离、直线到圆轮廓的最短距离、是否相交。
- 典型应用:轴类零件的中心到基准边的距离、孔中心到边缘的距离。
2.2 圆圆测量
- 功能:测量两个圆之间的位置关系。
- 输入:圆 A、圆 B、测量类型(圆心距 / 边缘最短距 / 边缘最大距)。
- 输出:圆心距、两圆轮廓最短距离、半径差、同心度。
- 典型应用:双孔孔间距、同轴孔同心度、轴承内外圈偏心量。
2.3 点圆测量
- 功能:测量一个点与一个圆之间的位置关系。
- 输入:点对象、圆对象。
- 输出:点到圆心距离、点到圆轮廓最短距离、点是否在圆内。
- 典型应用:基准点相对圆孔的偏差、角点到定位孔的距离。
2.4 点线测量
- 功能:测量一个点到一条直线的垂直距离。
- 输入:点对象、直线对象。
- 输出:垂直距离、垂足坐标、点在直线方向上的位置。
- 典型应用:元件中心相对基准边的偏移、引脚顶端到基准线的距离。
2.5 线线测量
- 功能:测量两条直线之间的位置关系。
- 输入:直线 A、直线 B、测量类型(夹角 / 交点 / 距离)。
- 输出:两直线夹角、交点坐标、两平行线间距。
- 典型应用:垂直度 / 平行度评价、矩形件相邻边夹角、导轨间距。
2.6 点点测量
- 功能:测量两个点之间的距离。
- 输入:点 A、点 B。
- 输出:欧氏距离、水平差 ΔX、垂直差 ΔY、两点连线角度。
- 典型应用:两个顶点 / 角点之间的长度、引脚间距、焊盘点间距。
3. 几何拟合类
几何拟合类共 2 个工具,用于从离散点集中重建标准几何基元,适合已知点集、噪声较多的场景。
3.1 圆拟合
- 功能:基于输入的一组离散点(边缘点、顶点、手动点等)拟合出最小二乘圆。
- 输入:点集、拟合算法(最小二乘 / 鲁棒拟合)。
- 输出:圆心 X/Y、半径、圆度误差、拟合残差。
- 核心特性:支持剔除离群点的鲁棒拟合,比直接"圆查找"更适合已知点集的场景。
- 典型应用:从已提取边缘点重建圆、多段圆弧拼合、异形孔圆度评定。
3.2 直线拟合
- 功能:基于输入的一组离散点拟合出直线。
- 输入:点集、拟合算法(最小二乘 / RANSAC / 鲁棒拟合)。
- 输出:直线起点 / 终点、角度、拟合残差、点到直线最大偏差。
- 核心特性:可过滤离群点,适合噪声较多的边缘点。
- 典型应用:重建基准边、评价边缘直线度、多段直线拼合。
4. 图像像素分析类
图像像素分析类共 3 个工具,对 ROI 内的灰度值做统计分析,常用于亮度、面积占比、缺陷检测等场景。
4.1 亮度测量
- 功能:测量指定 ROI 区域内的平均亮度、最大 / 最小亮度。
- 输入:ROI、亮度范围(0--255 或自定义)。
- 输出:平均灰度、最大灰度、最小灰度、亮度标准差、ROI 面积。
- 典型应用:LED 亮度判定、屏幕显示均匀性、印刷深浅检测、表面反光异常检测。
4.2 像素统计
- 功能:对 ROI 内像素按灰度区间进行计数与百分比统计。
- 输入:ROI、灰度区间、阈值上下限。
- 输出:各区间像素数、占比、合格像素数、超差像素数。
- 典型应用:黑白面积比例、缺陷面积占比、二值化前景占比、印刷覆盖率。
4.3 直方图工具
- 功能:绘制 ROI 内灰度直方图,显示各灰度级分布。
- 输入:ROI、灰度 bin 数、是否分通道(RGB 彩色时)。
- 输出:直方图曲线、峰值位置、双峰信息、灰度分布统计。
- 典型应用:辅助确定二值化阈值、评估对比度、分析光照不均、区分前景与背景。
5. 基准构建类
5.1 几何创建
- 功能:通过坐标、公式或已知几何参数,手动创建点、线、圆、矩形等虚拟几何对象。
- 输入:几何类型、坐标参数(X/Y、半径、角度等)。
- 输出:可被其他测量/定位工具引用的几何对象。
- 核心特性 :
- 可建立固定基准(如机械坐标系原点、相机光轴点);
- 可结合位置修正矩阵创建动态基准;
- 可在图像上叠加测量辅助线。
- 典型应用:建立机械零点基准、标定板基准圆、固定测量参考线、虚拟坐标系构建。
6. 与定位模块的配合关系
定位模块:圆查找 / 直线查找 / 顶点检测
↓ 输出点、线、圆对象
测量模块:点线 / 线线 / 圆圆 / 线圆测量
↓ 输出距离、角度、尺寸
判定/输出:阈值判定 OK/NG → 上报 PLC / 上位机
典型组合:
| 产线需求 | 工具链 |
|---|---|
| 孔中心到边缘距离 | 圆查找 + 直线查找 → 线圆测量 |
| 两孔间距 / 同心度 | 圆查找 ×2 → 圆圆测量 |
| 元件引脚相对基准边偏移 | 直线查找(基准边) + 顶点检测(引脚) → 点线测量 |
| 直角工件垂直度 | 直线查找 ×2 → 线线测量(夹角) |
| 边缘点重建圆 / 直线 | 边缘查找(点集) → 圆拟合 / 直线拟合 |
| 印刷深浅 / LED 亮度 | 亮度测量 → 阈值判定 |
| 缺陷面积占比 | 像素统计 / 直方图工具 |
| 建立机械固定基准 | 几何创建 → 供所有测量工具引用 |
7. SDK 二次开发要点(C#)
- 测量工具必须有上游特征输入,在流程中先连线再运行;
- 所有数值结果(距离、角度、亮度、占比)均可在「流程输出」中暴露;
- C# 端读取后做 SPC 统计、存数据库或下发 PLC。
csharp
// 示意:读取两个测量结果
var solution = VmSolution.Load(@"D:\measure.vmproj");
var flow = solution.GetFlow("流程1");
flow.Run();
double holeDistance = flow.GetOutputParameter<double>("CircleCircle_Distance");
double edgeOffset = flow.GetOutputParameter<double>("PointLine_Distance");
bool sizeOK = flow.GetOutputParameter<bool>("Result_OK");