halcon 卡尺测量
时间: 2025-01-09 08:40:34 AIGC 浏览: 73
### Halcon 中卡尺测量方法及实例
#### 创建卡尺模型
为了在 Halcon 中创建卡尺模型,需调用 `create_metrology_model` 函数来初始化一个新的计量学模型。此函数允许定义用于后续处理的一系列参数和配置[^1]。
```cpp
// 初始化新的计量学模型句柄
Hlong ModelID;
create_metrology_model(&ModelID);
```
#### 设置图像尺寸
设定输入图片的具体宽度与高度对于确保测量精度至关重要。通过调整这些属性可以优化检测效果并提高准确性。
```cpp
set_metrology_model_image_size(ModelID, Width, Height); // 设定图像大小
```
#### 添加内外卡尺工具
根据实际需求向已建立好的模型里加入不同类型的卡尺组件,比如内径或外径测量工具。这一步骤决定了最终能够获取哪些特定位置的数据信息。
```cpp
add_metrology_caliper_pair(ModelID, Type, StartRow, StartColumn, EndRow, EndColumn, Angle, Sigma, Threshold, MinDistance, MaxDistance, &CaliperIndex);
```
#### 配置卡尺模板选项
针对每一个单独添加进去的卡尺对象进一步细化其工作模式及相关约束条件,例如角度范围、灵敏度等级等,从而满足更复杂的应用场景下的精确控制要求。
```cpp
set_metrology_object_param(ModelID, CaliperIndex, "param_name", param_value);
```
#### 执行定位转换操作
当所有前期准备工作完成后,在正式开始执行具体的长度测定之前还需要完成一次坐标系之间的映射关系计算过程——即所谓的“变换”。这一环节主要是为了让整个系统的运行更加稳定可靠,并减少外界因素干扰所带来的误差影响。
```cpp
apply_homography_to_image(HomMat2D, Image, HomImage);
```
#### 实施具体测量行为
最后利用前面构建完毕后的完整框架来进行目标物体特征提取作业,此时会自动识别出预设区域内符合条件的关键点位,并据此得出相应的距离数值作为输出结果的一部分呈现给用户查看分析使用。
```cpp
apply_metrology_model(Image, MetrologyHandle);
get_metrology_object_result_contour(Contour1, MetroologyHandle, 'all');
```
阅读全文
相关推荐


















