news 2026/6/10 15:32:45

【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/6/10 11:21:44

Elastic 在 AWS re:Invent:总结一年在 agentic AI 创新中的合作

作者:来自 Elastic Brian BergholmJenn MichelUdayasimha Theepireddy (Uday) 又一年以客户为中心的卓越合作亮点。 Elastic 的能力(包括向量数据库和上下文工程)与 AWS 服务的集成,帮助客户更快、更灵活地构建智能、可扩展且安全…

作者头像 李华
网站建设 2026/6/10 11:21:09

n1n:从替代LiteLLM Proxy自建网关到企业级统一架构的进阶之路

摘要:在 2025 年的大模型应用开发中,如何统一管理 GPT-4、Claude 3.5、Gemini 1.5 等异构 API 成为企业的核心痛点。本文将深度解析开源网关 LiteLLM 的技术原理与实施路径,剖析自建网关在生产环境中的“隐形深坑”,并探讨如何通过…

作者头像 李华
网站建设 2026/6/10 13:42:20

数控机床床身机构优化设计(任务书)

毕业论文(设计)任务书 题目 数控机床床身机构优化设计 学院 专业班级 学生姓名 年级 学号 指导教师 课题来源 (【√】) 【】科研项目 【】实践教育基地项目 【】自拟课题 课题内容及目标 一、课题内容 1、数控机床床身结构调研与分析 收集现有数控机床床身结构类型、材…

作者头像 李华
网站建设 2026/6/10 11:23:54

保姆级教程---在 Windows 上安装运维神器——宝塔面板,告别繁琐命令行!

摘要:对于习惯了图形化界面的 Windows Server 管理员或开发者来说,手动配置 IIS、PHP、MySQL 环境简直是噩梦。今天为大家介绍一款“运维神器”——宝塔面板(Windows 版)。本文将手把手教你如何在 Windows 环境下从零安装并配置宝塔面板,实现服务器管理的“可视化”与“一…

作者头像 李华
网站建设 2026/6/10 9:27:38

Python 的开发效率真的比 Java 高吗

的开发效率通常高于 Java,主要体现在:语法简洁、开发周期短、动态类型提升灵活性、生态丰富快速上手、适合原型迭代。**其中,语法简洁带来的代码量减少最为显著——根据多项行业统计,同样功能,Python 编写所需代码行数…

作者头像 李华