news 2026/5/1 8:25:39

【Halcon-2D测量】get_metrology_model_param 函数功能(用于读取计量模型全局参数)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Halcon-2D测量】get_metrology_model_param 函数功能(用于读取计量模型全局参数)

HALCON算子get_metrology_model_param全解析

一、算子核心定位

get_metrology_model_param是HALCON 2D计量(2D Metrology)模块中读取计量模型全局参数的核心算子,其作用是查询作用于整个计量模型的通用配置参数(区别于针对单个计量对象的get_metrology_object_param),比如相机内参、测量平面3D位姿、参考坐标系、测量结果缩放因子等。该算子常用于验证计量模型的全局配置是否正确,或在测量后读取全局参数以辅助结果解析(如将像素单位的测量结果转换为物理单位)。

二、算法核心原理

get_metrology_model_param的核心逻辑是基于句柄定位模型 + 参数名匹配配置项

  1. 通过输入的MetrologyHandle(计量模型句柄)定位到目标计量模型的全局配置数据区;
  2. 根据GenParamName(参数名)匹配对应配置项的存储位置;
  3. 读取该配置项的数值/数据,并通过GenParamValue返回(返回值类型随参数名不同而变化)。

整个过程仅读取参数不修改模型状态,且支持多线程安全调用。

三、参数全详解

(一)输入参数(Input Parameters)

参数名类型功能说明默认值合法取值注意事项
MetrologyHandle计量模型句柄(metrology_model → handle)要查询参数的目标计量模型句柄-合法且未释放的计量模型句柄句柄无效(如已关闭、空句柄)会直接抛出异常
GenParamName通用参数名(attribute.name → string)要查询的全局参数名称'camera_param''camera_param''plane_pose''reference_system''scale'仅支持指定的4个参数名,传入其他值会触发参数异常

(二)输出参数(Output Parameters)

参数名类型功能说明各参数名对应的返回值详情
GenParamValue参数值(attribute.value(-array) → string/real/integer)对应GenParamName的参数值,类型随参数名变化1.'camera_param':字符串类型,返回相机内参(如"area_scan_division 0 0 0 0 0 0 1 1 0 0 0 0"
2.'plane_pose':实数数组,返回测量平面的3D位姿(格式为[tx, ty, tz, rx, ry, rz],相机坐标系下)
3.'reference_system':实数数组,返回参考坐标系相对图像坐标系的变换(格式为[row, column, angle],分别对应参考系原点行坐标、列坐标、旋转角度)
4.'scale':实数,返回测量结果的缩放因子(用于将像素单位转换为物理单位,如mm)

四、使用关键注意事项

  1. 参数名合法性GenParamName仅支持'camera_param'/'plane_pose'/'reference_system'/'scale'四个值,需严格匹配字符串(大小写敏感);
  2. 返回值类型适配:需根据查询的参数名对应处理GenParamValue的类型:
    • 'camera_param'是字符串,需用字符串解析函数处理;
    • 其余三个参数均为实数数组/单实数,需用数值类型接收;
  3. 多线程特性
    • 多线程类型:可重入(与非排他算子并行运行);
    • 多线程范围:全局(可从任意线程调用);
    • 无并行处理(单线程读取参数);
  4. 参数存在性:若查询的参数未通过set_metrology_model_param设置过,会返回该参数的默认值(如'scale'默认值为1.0);
  5. 返回值规则:参数合法时返回2 (H_MSG_TRUE),参数非法(如无效句柄、错误参数名)会抛出异常。

五、算子调用链路

(一)前置算子(Possible Predecessors)

算子名称核心作用关联场景
set_metrology_model_param为计量模型设置全局参数先设置参数,再调用本算子验证设置是否生效
get_metrology_object_indices获取计量模型中计量对象的索引先确认模型内对象,再查询全局参数辅助结果解析

(二)后置算子(Possible Successors)

算子名称核心作用关联场景
get_metrology_object_param获取单个计量对象的参数先读取模型全局配置,再读取单个对象参数,完整解析模型配置

六、与相似算子的核心差异

算子名称核心区别适用场景
get_metrology_model_param查询整个计量模型的全局通用参数验证模型的相机参数、参考坐标系、缩放因子等全局配置
get_metrology_object_param查询单个计量对象的参数(如矩形尺寸、圆半径、测量Sigma值等)验证单个测量对象的配置,或解析单个对象的测量结果

七、总结

关键点回顾

  1. get_metrology_model_param用于读取计量模型级全局参数,仅支持查询camera_param/plane_pose/reference_system/scale四个参数;
  2. 输出参数GenParamValue的类型随查询的参数名变化,需针对性处理(字符串/实数数组/单实数);
  3. 该算子是只读操作,不修改模型状态,且支持多线程安全调用,常与set_metrology_model_param配合完成计量模型全局参数的“设置-验证”流程。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:44:05

org.eclipse.wst.common.project.facet.core.xml could not be read.

org.eclipse.wst.common.project.facet.core.xml could not be read.删除&#xff0c;重新拷贝一份过来就好了&#xff0c;有时候莫名其妙读取错误<?xml version"1.0" encoding"UTF-8"?> <faceted-project><installed facet"cloudf…

作者头像 李华
网站建设 2026/4/18 22:28:53

格雷厄姆特价股票策略在不同市场周期中的动态调整

格雷厄姆特价股票策略在不同市场周期中的动态调整 关键词:格雷厄姆特价股票策略、市场周期、动态调整、价值投资、股票分析 摘要:本文聚焦于格雷厄姆特价股票策略在不同市场周期中的动态调整。首先介绍了格雷厄姆特价股票策略的背景和重要性,明确了文章的目的、范围、预期读…

作者头像 李华