news 2026/4/15 4:04:02

【Halcon-2D测量】get_metrology_object_num_instances 函数功能(用于获取指定计量对象经检测后实际得到的“实例数量)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Halcon-2D测量】get_metrology_object_num_instances 函数功能(用于获取指定计量对象经检测后实际得到的“实例数量)

HALCON算子get_metrology_object_num_instances全解析

一、算子核心定位

get_metrology_object_num_instances是HALCON 2D计量(2D Metrology)模块的结果统计类核心算子,核心功能是获取指定计量对象经apply_metrology_model检测后实际得到的“实例数量”(即检测到的目标数量)。它是统计2D计量模型检测结果数量的关键工具,默认情况下每个计量对象最多仅返回1个实例(需提前配置参数才能检测多个),常用于判断目标是否被检测到、或统计同类型目标的数量。

二、算法核心原理

  1. 句柄与索引校验:验证输入的计量模型句柄(MetrologyHandle)有效性,并解析Index参数确定要查询的计量对象范围(all遍历所有,指定索引则仅处理对应对象);
  2. 实例数读取:针对每个指定的计量对象,读取其经apply_metrology_model检测后实际生成的实例数量(未执行检测则为0);
  3. 结果返回:将每个计量对象的实例数按Index的顺序封装为数组,输出到NumInstances参数;
  4. 无修改逻辑:仅读取实例数统计结果,不改变计量模型/对象的任何属性或检测结果。

三、参数全详解

(一)输入参数(Input Parameters)

参数名类型功能说明默认值关键取值规则注意事项
MetrologyHandlemetrology_model → (handle)指定要查询的2D计量模型句柄-必须为已有效创建/加载的计量模型句柄1. 需通过create_metrology_model/read_metrology_model生成,且未被clear_metrology_model释放;
2. 无效句柄直接触发“句柄无效”异常
Indexinteger(-array) → (integer / string)指定要查询的计量对象索引0可选值:
▪ ‘all’:查询模型内所有计量对象的实例数;
▪ 整数/整数数组:查询指定索引的计量对象(如0、[0,1])
1. 整数索引必须是get_metrology_object_indices返回的有效索引;
2. 若Index为数组,NumInstances会按相同顺序返回对应实例数

(二)输出参数(Output Parameters)

参数名类型功能说明关联说明
NumInstancesinteger(-array) → (real / integer)返回指定计量对象的实例数量数组1. 顺序与Index完全对应(Indexall时,顺序与get_metrology_object_indices返回的索引一致);
2. 未执行apply_metrology_model时返回0;
3. 默认最大值为1(需提前设置num_instances参数才能返回更大值)

四、使用关键注意事项

  1. 执行时序约束:必须在调用apply_metrology_model(执行检测)后调用本算子,否则NumInstances返回0;若检测未找到目标,也会返回0;
  2. 默认实例数限制
    • 每个计量对象默认参数num_instances=1,因此默认情况下NumInstances最大为1;
    • 若需检测多个同类型目标(如图像中有3个圆),需提前通过set_metrology_object_param将该计量对象的num_instances设为更大值(如5)或'all'
  3. 多线程特性
    • 多线程类型:可重入(能与非排他算子并行运行);
    • 多线程范围:全局(可从任意线程调用);
    • 无并行优化:仅单线程读取数据,无性能加速;
  4. Index与NumInstances的对应性
    • Index为单个整数(如0),NumInstances为单个数值;
    • Index为数组(如[0,1])或'all'NumInstances为同长度数组,顺序严格匹配;
  5. 返回值规则:执行成功返回2(H_MSG_TRUE),参数无效(如索引错误、句柄无效)时直接抛出异常。

五、算子调用链路

(一)前置算子(Possible Predecessors)

  • create_metrology_model:创建空的2D计量模型(基础前置);
  • add_metrology_object_*(如add_metrology_object_circle_measure):向模型添加计量对象;
  • set_metrology_object_param:(可选)设置计量对象的num_instances参数(如需检测多个实例);
  • apply_metrology_model:执行边缘检测与实例拟合(获取实例数的必要前置);
  • get_metrology_object_indices:获取有效计量对象索引(可选,用于精准指定Index)。

(二)后置算子(Possible Successors)

  • get_metrology_object_result:根据实例数读取每个实例的几何参数(如圆的圆心、半径);
  • clear_metrology_model:释放计量模型句柄(收尾操作);
  • dev_print_var:打印实例数,用于结果校验或日志输出。

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

算子名称核心区别适用场景
get_metrology_object_num_instances返回计量对象的检测实例数量(目标个数)统计检测到的目标数量、判断目标是否存在
get_metrology_object_indices返回计量模型中计量对象的索引列表定位要操作的计量对象
get_metrology_object_measures返回计量对象的测量区域轮廓+边缘原始坐标调试测量区域、验证边缘检测原始结果
get_metrology_object_result返回每个实例的几何拟合结果(如圆心、尺寸)获取目标的具体测量参数

八、总结

关键点回顾

  1. get_metrology_object_num_instances核心作用是统计计量对象经apply_metrology_model检测后的实例数量,未检测/未执行检测时返回0;
  2. 默认每个计量对象最多返回1个实例,需提前用set_metrology_object_param设置num_instances为更大值或'all'才能统计多目标;
  3. NumInstances的顺序与Index严格对应,可据此精准读取每个计量对象的检测结果数量。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:11:51

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

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

作者头像 李华
网站建设 2026/4/15 15:12:31

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

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

作者头像 李华
网站建设 2026/4/15 15:12:31

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

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

作者头像 李华
网站建设 2026/3/27 8:53:14

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

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

作者头像 李华
网站建设 2026/4/15 12:48:21

完整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/4/15 12:03:30

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作为新一代智能推理引擎,采用创新的…

作者头像 李华