news 2026/5/26 5:50:48

【Halcon-2D测量】get_metrology_object_indices 函数功能(用于获取指定2D计量模型中所有计量对象的索引列表)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Halcon-2D测量】get_metrology_object_indices 函数功能(用于获取指定2D计量模型中所有计量对象的索引列表)

HALCON算子get_metrology_object_indices全解析

一、算子核心定位

get_metrology_object_indices是HALCON 2D计量(2D Metrology)模块的基础核心算子,核心功能是获取指定2D计量模型中所有计量对象的索引列表,是访问计量对象参数(如尺寸、位置、模糊规则、检测实例数等)的前置关键步骤,为后续精准读取/修改特定计量对象属性提供唯一的索引依据,是2D计量模块中“定位-操作”计量对象的基础桥梁。

二、算法核心原理

  1. 句柄解析:根据输入的计量模型句柄(MetrologyHandle),验证句柄有效性并定位到对应的2D计量模型内存空间;
  2. 索引遍历:遍历该计量模型内已创建/加载的所有计量对象(如圆、矩形、线等计量对象);
  3. 索引返回:将所有计量对象的唯一整数索引以数组形式输出到Indices参数;
  4. 无修改逻辑:仅执行索引的读取和返回操作,不改变计量模型或计量对象的任何属性、状态。

三、参数全详解

(一)输入参数(Input Parameters)

参数名类型功能说明默认值关键取值规则注意事项
MetrologyHandlemetrology_model → (handle)指定要查询的2D计量模型句柄-必须为已有效创建/加载的计量模型句柄1. 句柄需通过create_metrology_model/read_metrology_model生成,且未被clear_metrology_model释放;
2. 无效句柄会直接触发“句柄无效”异常

(二)输出参数(Output Parameters)

参数名类型功能说明关联说明
Indicesinteger(-array) → (integer)返回计量模型中所有计量对象的索引列表1. 每个索引对应模型内一个唯一的计量对象;
2. 可作为get_metrology_object_param/set_metrology_object_param等算子的输入,用于定位具体计量对象;
3. 若模型无计量对象,返回空数组

四、使用关键注意事项

  1. 句柄有效性约束:必须确保MetrologyHandle是已初始化的有效句柄,未被释放或未创建的句柄会抛出异常,而非返回错误码;
  2. 多线程特性
    • 多线程类型:可重入(能与非排他算子并行运行);
    • 多线程范围:全局(可从任意线程调用);
    • 无并行优化:仅单线程读取索引,无性能加速逻辑;
  3. 索引特性:返回的索引通常从0开始,按计量对象的创建/加载顺序递增(如第一个添加的计量对象索引为0,第二个为1);
  4. 空模型处理:若计量模型内无任何计量对象(如刚创建的空模型),Indices返回空数组,不会触发异常,需在后续逻辑中处理空数组场景;
  5. 返回值规则:算子执行成功返回2(H_MSG_TRUE),参数无效(如句柄错误)时直接抛出异常。

五、算子调用链路

(一)前置算子(Possible Predecessors)

  • create_metrology_model:创建空的2D计量模型(基础前置);
  • read_metrology_model:从文件加载预定义的计量模型(最常用前置);
  • add_metrology_object_*(如add_metrology_object_circle_measure/add_metrology_object_rectangle2_measure):向计量模型添加计量对象后,调用本算子获取新增对象索引。

(二)后置算子(Possible Successors)

  • get_metrology_object_param:根据索引读取指定计量对象的常规参数(如圆心坐标、矩形角度、测量长度);
  • get_metrology_object_fuzzy_param:根据索引读取指定计量对象的模糊规则参数;
  • set_metrology_object_param:根据索引修改指定计量对象的参数;
  • get_metrology_object_num_instances:根据索引获取指定计量对象的检测实例数量。

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

算子名称核心区别适用场景
get_metrology_object_indices返回所有计量对象的索引列表批量遍历处理模型内所有计量对象(如批量读取所有对象参数)
get_metrology_object_num_instances返回单个指定计量对象的检测实例数查询某一计量对象实际检测到的目标数量(如圆计量对象检测到3个圆)
get_metrology_model_param返回计量模型的全局参数(如单位、投影方式)读取模型层面的属性,而非单个计量对象属性

八、总结

关键点回顾

  1. get_metrology_object_indices核心作用是读取2D计量模型中所有计量对象的索引列表,是访问单个计量对象属性的前置必要步骤;
  2. 该算子仅做索引读取,无修改操作,返回的索引是后续精准操作计量对象的唯一标识;
  3. 使用时需确保计量模型句柄有效,空模型会返回空索引数组,需做好空值场景的逻辑处理。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 4:57:17

权威发布:中国1:100万草地资源精准数据集全面解析

数据全景:覆盖全国的高精度草地资源信息 【免费下载链接】中国1100w草地资源数据集 “中国1:100w草地资源数据集”提供了全国范围内精确至1:100万的草地资源信息,适用于研究、教学及政策规划。数据集采用地理信息系统兼容格式,并附带详细的研…

作者头像 李华
网站建设 2026/5/25 8:38:35

从虚拟机权限到网络配置:WinApps实战问题全解析

从虚拟机权限到网络配置:WinApps实战问题全解析 【免费下载链接】winapps The winapps main project, forked from https://github.com/Fmstrat/winapps/ 项目地址: https://gitcode.com/GitHub_Trending/wina/winapps 当你满怀期待地准备在Linux系统上无缝运…

作者头像 李华
网站建设 2026/5/25 7:15:57

微软商店封神工具!Photo Retouch,AI 抠图删物一键搞定

谁还在为修图头疼?想删图片里的路人、杂物,用复杂软件抠半天还留痕迹;抠图后白边难消、背景单调,新手看教程都看晕 —— 直到我挖到这款微软应用商店的宝藏工具,小白也能秒变修图大神! 下载地址&#xff1…

作者头像 李华
网站建设 2026/5/26 0:41:47

人工神经网络(2025年秋):第五次作业

◎ 说明: 作业可以使用你所熟悉的编程语言和平台,比如 C,C、MATLAB、Python等。作业链接。 01 深度网络一、作业内容 1、作业要求 练习搭建深度学习网络基本网络(CNN)实现数据分类与参数回归;掌握深度学习…

作者头像 李华
网站建设 2026/5/25 4:46:58

完整USB嗅探器使用指南:5步快速上手低成本USB流量分析

完整USB嗅探器使用指南:5步快速上手低成本USB流量分析 【免费下载链接】usb-sniffer Low-cost LS/FS/HS USB sniffer with Wireshark interface 项目地址: https://gitcode.com/gh_mirrors/us/usb-sniffer 想要深入了解USB设备的通信过程吗?USB S…

作者头像 李华
网站建设 2026/5/24 22:44:41

Qwen3-30B-A3B模型在Ascend平台的深度技术解析

Qwen3-30B-A3B模型在Ascend平台的深度技术解析 【免费下载链接】Qwen3-30B-A3B-Instruct-2507-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-30B-A3B-Instruct-2507-FP8 技术架构亮点速览 Qwen3-30B-A3B作为新一代智能推理引擎,采用创新的…

作者头像 李华