news 2026/6/23 19:50:52

【Halcon-2D测量】get_metrology_object_fuzzy_param 函数功能(用于读取计量对象模糊测量参数)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Halcon-2D测量】get_metrology_object_fuzzy_param 函数功能(用于读取计量对象模糊测量参数)

HALCON算子get_metrology_object_fuzzy_param全解析

一、算子核心定位

get_metrology_object_fuzzy_param是HALCON 2D计量(2D Metrology)模块中读取计量对象模糊测量参数的专用算子,区别于查询模型全局参数的get_metrology_model_param和查询计量对象普通参数的get_metrology_object_param,该算子专门用于获取计量模型中指定计量对象的模糊测量相关配置(如模糊阈值、对比度/位置模糊函数)。其核心价值在于验证模糊参数的设置是否生效,或在模糊测量后读取配置以辅助结果解析(如判断测量结果是否受模糊阈值影响)。

二、算法核心原理

get_metrology_object_fuzzy_param的核心逻辑是精准定位+参数匹配读取,具体流程如下:

  1. 通过输入的MetrologyHandle定位目标计量模型的内存数据区;
  2. 根据Index筛选要查询的计量对象(单个对象/所有对象);
  3. GenParamName中的参数名(支持多个)依次匹配对应计量对象的模糊参数配置项;
  4. 读取配置项的数值,并按GenParamName的顺序将结果存入GenParamValue返回;
  5. 整个过程为只读操作,不修改计量模型或对象的任何状态,且支持多线程安全调用。

三、参数全详解

(一)输入参数(Input Parameters)

参数名类型功能说明默认值合法取值关键注意事项
MetrologyHandle计量模型句柄(metrology_model → handle)要查询模糊参数的目标计量模型句柄-合法、未释放的计量模型句柄句柄无效(如已关闭、空句柄、非计量模型句柄)会直接抛出异常
Index计量对象索引(integer(-array) → string/integer)指定查询哪个/哪些计量对象的模糊参数'all'1.'all':查询模型中所有计量对象的模糊参数
2. 非负整数(如0、1、2):查询指定索引的单个计量对象
1. 索引需在模型现有计量对象范围内(如模型只有2个对象,传入3会触发异常)
2. 支持数组形式(如[0,1]),但通常仅用'all'或单个整数
GenParamName模糊参数名(attribute.name-array → string)要查询的模糊参数名称(支持多个)'fuzzy_thresh''fuzzy_thresh''function_contrast''function_position'1. 字符串大小写敏感,传入其他值会触发参数异常
2. 支持数组形式(如['fuzzy_thresh','function_contrast']),返回值会按此顺序排列

(二)输出参数(Output Parameters)

参数名类型功能说明各参数名对应的返回值详情
GenParamValue模糊参数值(attribute.value-array → real/integer)对应GenParamName的模糊参数值,顺序与GenParamName完全一致1.'fuzzy_thresh'实数,模糊阈值,等价于fuzzy_measure_pos算子的FuzzyThresh参数,用于控制模糊测量的阈值
2.'function_contrast'实数/整数,对比度模糊函数配置,等价于set_fuzzy_measure算子中SetType='contrast'时的模糊函数参数
3.'function_position'整数,位置模糊函数类型标识,返回最后设置的位置模糊函数类型(如对应'function_position'/'function_position_center'等类型的数值编码)

四、使用关键注意事项

  1. 多参数批量查询GenParamName支持传入参数名数组(如['fuzzy_thresh','function_position']),GenParamValue会按相同顺序返回对应参数值,无需多次调用算子;
  2. Index的有效性:若传入整数索引,需确保该索引在计量模型的有效范围内(可通过get_metrology_object_num_instances先查询模型中对象数量);
  3. 参数默认值:若未通过set_metrology_object_fuzzy_param主动设置过模糊参数,算子会返回各参数的HALCON默认值(如'fuzzy_thresh'默认值为0.5);
  4. 多线程特性
    • 多线程类型:可重入(可与非排他算子并行运行);
    • 多线程范围:全局(可从任意线程调用);
    • 处理方式:单线程读取,无并行优化;
  5. 返回值规则:参数全部合法时返回2 (H_MSG_TRUE),任意参数非法(如无效句柄、错误参数名)会抛出异常。

五、算子调用链路

(一)前置算子(Possible Predecessors)

算子名称核心作用关联场景
set_metrology_object_fuzzy_param为计量对象设置模糊参数先配置模糊参数,再调用本算子验证设置是否生效
get_metrology_object_indices获取计量模型中所有计量对象的索引先确认有效索引,再精准查询指定对象的模糊参数

(二)后置算子(Possible Successors)

算子名称核心作用关联场景
set_metrology_object_fuzzy_param修改计量对象的模糊参数读取当前参数后,根据需求调整模糊阈值/模糊函数
apply_metrology_model执行计量测量(含模糊测量)验证模糊参数后,基于配置执行实际的模糊测量任务

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

算子名称核心区别适用场景
get_metrology_object_fuzzy_param查询计量对象的模糊测量参数(阈值、对比度/位置模糊函数)模糊测量场景下,验证对象的模糊配置
get_metrology_object_param查询计量对象的普通参数(如Sigma、振幅阈值、测量区域尺寸)非模糊测量场景,验证对象的基础测量配置
get_metrology_model_param查询计量模型的全局参数(如相机内参、参考坐标系)验证模型级的全局配置,不针对单个对象

七、总结

关键点回顾

  1. get_metrology_object_fuzzy_param模糊测量专属算子,仅用于读取计量对象的3个模糊参数(fuzzy_thresh/function_contrast/function_position);
  2. Index支持'all'(所有对象)或具体整数索引,GenParamName支持多参数批量查询,返回值顺序与参数名顺序一致;
  3. 该算子为只读操作,不修改模型状态,常与set_metrology_object_fuzzy_param配合完成“设置-验证”模糊参数的流程。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 23:10:15

银河距离银河距离银河距离银河距离银河距离

原文:towardsdatascience.com/how-far-are-we-from-alien-civilizations-part-4-of-the-drake-equation-series-2299ee009476?sourcecollection_archive---------2-----------------------#2024-09-08 我们距离外星文明有多远?(德雷克方程系…

作者头像 李华
网站建设 2026/6/23 21:45:49

生成式深度学习(用变分自编码器生成图像)

用变分自编码器生成图像 目前最流行也是最成功的创造性人工智能应用就是图像生成:学习潜在视觉空间,并从空 间中进行采样来创造全新图片。这些图片是在真实图片中进行插值得到的,可以是想象中的人、 想象中的地方、想象中的猫和狗等。 本节和…

作者头像 李华
网站建设 2026/6/23 17:17:34

基于STM32的智能鞋柜系统设计与实现

基于STM32的智能鞋柜系统设计与实现 摘要 本文设计并实现了一种基于STM32F103C8T6单片机的智能鞋柜系统,该系统融合了环境感知、智能决策与远程控制技术,实现了鞋柜内部环境的全方位监测与调控。系统采用DHT11温湿度传感器、PM2.5粉尘传感器、MQ-135空气质量传感器构建多维…

作者头像 李华
网站建设 2026/6/23 19:15:52

VBA会被Python代替吗

VBA不会完全被Python取代、但Python在自动化、数据分析与跨平台开发等方面的优势使其越来越受欢迎、两者将长期并存且各具优势。 Python以其易于学习的语法、强大的开源生态系统和跨平台支持,逐渐成为自动化和数据分析领域的主流工具。然而,VBA依旧在Exc…

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

python与nodejs哪个性能高

在一般的Web开发和高并发场景中,Node.js的性能通常优于Python,特别是在处理大量异步任务和实时应用时更具优势;而在数据分析、机器学习及计算密集型任务中,Python则表现出更高的性能优势。 Node.js以事件驱动的非阻塞I/O模型著称&…

作者头像 李华