当前位置: 首页 > news >正文

【Halcon-2D测量】reset_metrology_object_fuzzy_param 函数功能(用于参数重置)

HALCON算子reset_metrology_object_fuzzy_param全解析

一、算子核心定位

reset_metrology_object_fuzzy_param是HALCON 2D计量(2D Metrology)模块的参数重置类算子,核心功能是清除指定计量对象中所有通过set_metrology_object_fuzzy_param配置的模糊参数和模糊函数,恢复其默认值。它专门针对2D计量模型中的“模糊规则配置”做重置,不影响计量对象的普通参数(如测量长度、Sigma、振幅阈值等),是调试模糊规则、回滚模糊配置的关键工具。

二、算法核心原理

  1. 句柄与索引校验:验证输入的计量模型句柄(MetrologyHandle)有效性,并解析Index参数确定要重置的计量对象范围(all遍历所有,指定索引则仅处理对应对象);
  2. 模糊参数定位:针对每个指定的计量对象,定位其内存中存储的所有模糊参数/模糊函数(如模糊评分阈值、边缘类型模糊规则、尺寸模糊区间等);
  3. 参数重置:清除已配置的模糊参数/函数,将所有模糊相关属性恢复为HALCON默认值;
  4. 状态同步:修改MetrologyHandle对应的计量模型内存状态(因此该句柄被标记为“状态可修改”);
  5. 无返回结果:仅执行重置操作,无输出参数,仅通过返回值(H_MSG_TRUE)确认执行成功。

三、参数全详解

(一)输入参数(Input Parameters)

参数名类型功能说明默认值关键取值规则注意事项
MetrologyHandlemetrology_model → (handle)
(input_control, state is modified)
指定要重置的2D计量模型句柄-必须为已有效创建/加载的计量模型句柄1. 需通过create_metrology_model/read_metrology_model生成,未被clear_metrology_model释放;
2. 该算子会修改句柄对应的模型状态,多线程使用时需同步访问;
3. 无效句柄直接抛出“句柄无效”异常
Indexinteger(-array) → (string / integer)指定要重置的计量对象索引‘all’可选值:
▪ ‘all’:重置模型内所有计量对象的模糊参数;
▪ 整数/整数数组:重置指定索引的计量对象(如0、[0,1])
1. 整数索引必须是get_metrology_object_indices返回的有效索引;
2. 若Index为数组,会按顺序重置每个索引对应的对象

(二)输出参数

该算子无输出参数,仅通过返回值(2=H_MSG_TRUE)确认执行成功。

四、使用关键注意事项

  1. 作用范围约束:仅重置模糊参数/模糊函数(由set_metrology_object_fuzzy_param设置的参数),完全不影响普通参数(如num_instancesSigmameasure_length等,这些需用reset_metrology_object_param重置);
  2. 句柄状态修改
    • MetrologyHandle是“状态可修改的输入参数”,执行该算子后,模型的内部状态会变化;
    • 若多线程同时访问该句柄(如一个线程重置、一个线程读取模糊参数),必须做同步处理,否则可能导致参数读取异常;
  3. 默认值恢复规则:重置后,所有模糊相关参数回到HALCON出厂默认值(如模糊评分阈值恢复为0.5、无自定义模糊函数等),需重新调用set_metrology_object_fuzzy_param才能配置新的模糊规则;
  4. 多线程特性
    • 多线程类型:可重入(能与非排他算子并行运行);
    • 多线程范围:全局(可从任意线程调用);
    • 无并行优化:仅单线程执行重置操作;
    • 关键提醒:因修改句柄状态,跨线程使用该句柄时需手动同步;
  5. 返回值规则:执行成功返回2(H_MSG_TRUE),参数无效(如索引错误、句柄无效)时直接抛出异常,而非返回错误码;
  6. 执行时序无约束:无需先调用apply_metrology_model,可在创建计量对象后、配置模糊参数后任意时机调用。

五、算子调用链路

(一)前置算子(Possible Predecessors)

  • create_metrology_model:创建空2D计量模型(基础前置);
  • add_metrology_object_*(如add_metrology_object_circle_measure):向模型添加计量对象;
  • set_metrology_object_fuzzy_param:配置模糊参数/函数(该算子的核心前置,无此操作则重置无实际意义);
  • read_metrology_model:加载含模糊参数配置的计量模型(可选)。

(二)后置算子(Possible Successors)

  • set_metrology_object_fuzzy_param:重新配置模糊参数/函数(最常用后置);
  • apply_metrology_model:使用重置后的模糊默认参数执行检测;
  • get_metrology_object_fuzzy_param:验证模糊参数是否已恢复默认值;
  • clear_metrology_model:释放计量模型句柄(收尾操作)。

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

算子名称核心区别适用场景
reset_metrology_object_fuzzy_param仅重置模糊参数/模糊函数,恢复其默认值调试模糊规则、回滚错误的模糊配置
reset_metrology_object_param仅重置普通参数(如Sigma、振幅阈值、num_instances等),恢复其默认值调试普通测量参数、回滚错误的基础配置
clear_metrology_model释放整个计量模型句柄,销毁所有参数(含模糊+普通)彻底清理模型,释放内存

八、总结

关键点回顾

  1. reset_metrology_object_fuzzy_param核心作用是清除指定计量对象的所有模糊参数/函数,恢复其默认值,仅作用于模糊相关配置,不影响普通测量参数;
  2. 该算子会修改计量模型句柄的状态,多线程访问该句柄时需手动同步;
  3. 重置后需重新调用set_metrology_object_fuzzy_param才能配置新的模糊规则,常用于调试模糊规则时的回滚操作。
http://www.cnnetsun.cn/news/143371.html

相关文章:

  • 勤工助学管理|基于ssm 勤工助学管理系统(源码+数据库+文档)
  • 把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地
  • 【Matlab】五次B样条曲线应用于工业机器人轨迹规划
  • 杰理之关于音质问题提高的方式【篇】
  • 机器学习001:从“让机器学会思考”到生活中的智能魔法
  • Matlab模拟矢量光束之径向偏振光束
  • IPSec小结
  • SAP 中关闭库存期间(MM 物料账期)核心是用MMPV关闭旧期间并打开新期间,配合MMRV控制前期过账权限,同时需完成 FI/CO 等关联模块期间控制与数据校验
  • nodejs+vue电动车租赁平台系统_9jmey8a6
  • Java小白求职面试:从Spring Boot到微服务架构的技术探讨
  • 混合精度训练:FP16与FP32, 借助Tensor Core加速
  • LangChain表达式语言
  • 8MP 环视 / DMS 摄像头,带宽到底有多狠?
  • 【Halcon-2D测量】get_metrology_object_fuzzy_param 函数功能(用于读取计量对象模糊测量参数)
  • 银河距离银河距离银河距离银河距离银河距离
  • 生成式深度学习(用变分自编码器生成图像)
  • 显示器分辨率?【图文详解】显示器分辨率调整?电脑分辨率设置?
  • 基于STM32的智能鞋柜系统设计与实现
  • VBA会被Python代替吗
  • python与nodejs哪个性能高
  • 【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发
  • Doris的自增列介绍
  • C++编程实践——多线程变量共享问题展开分析
  • 【Android FrameWork】第三十六天:随机数EntropyMixer
  • 介观交通流仿真软件:VISSIM (介观模式)_(16).高级仿真技术
  • 安卓 之 PassthruPatchRecord
  • YOLOv8 训练与检测系统智慧化交通公路上落石检测数据集 智慧道路交通路面障碍物检测数据集 智慧交通、山区公路监控、应急预警平台 YOLOv8 训练与检测系统
  • 基于django智慧农业管理系统设计开发实现
  • Android架构师面试指南:基于跨越速运职位要求的全面解析与参考答案
  • 【2025最新】基于SpringBoot+Vue的企业项目管理系统管理系统源码+MyBatis+MySQL