Ubuntu 26.04驱动安装全攻略:从开源闭源选择到NVIDIA显卡实战
2026/6/16 6:36:08
get_metrology_object_param全解析get_metrology_object_param是HALCON 2D计量(2D Metrology)模块的参数读取核心算子,核心功能是按需获取计量模型中指定计量对象的任意可配置参数——涵盖几何参数(如圆的圆心/半径、矩形的尺寸/角度)、测量区域参数(如Sigma、阈值、测量条长度)、检测规则参数(如实例数、最小分数)等全维度参数,是验证计量对象配置、调试测量逻辑、读取几何基准值的核心工具,支持批量读取多个参数、多个计量对象的参数值。
Index参数确定要查询的计量对象范围(all遍历所有,指定索引则仅处理对应对象);GenParamName参数名是否合法(是否为该计量对象支持的参数),排除无效参数名;GenParamName的顺序依次读取对应参数的当前值;GenParamValue;| 参数名 | 类型 | 功能说明 | 默认值 | 关键取值规则 | 注意事项 |
|---|---|---|---|---|---|
| MetrologyHandle | metrology_model → (handle) | 指定要查询的2D计量模型句柄 | - | 必须为已有效创建/加载的计量模型句柄 | 1. 需通过create_metrology_model/read_metrology_model生成,且未被释放;2. 无效句柄直接触发“句柄无效”异常 |
| Index | integer(-array) → (string / integer) | 指定要查询的计量对象索引 | ‘all’ | 可选值: ▪ ‘all’:查询模型内所有计量对象的参数; ▪ 整数/整数数组:查询指定索引的计量对象(如0、[0,1]) | 整数索引必须是get_metrology_object_indices返回的有效索引,否则抛异常 |
| GenParamName | attribute.name-array → (string) | 要读取的参数名数组 | ‘num_measures’ | 支持的参数分为3类: 1. 通用参数(所有计量对象): min_score、num_instances、measure_sigma、measure_threshold等;2. 几何类型参数(专属): ▪ 圆: row、column、radius;▪ 矩形: row、column、phi、length1、length2;▪ 线: row_begin、column_begin、row_end、column_end;▪ 椭圆: row、column、phi、radius1、radius2;3. 元参数: object_type(几何类型)、object_params(所有几何参数集合) | 1. 若参数名对当前计量对象无效(如给线对象读radius),直接抛异常;2. 支持批量传入多个参数名(如[‘object_type’,‘measure_sigma’,‘num_instances’]) |
| 参数名 | 类型 | 功能说明 | 关联说明 |
|---|---|---|---|
| GenParamValue | attribute.value-array → (string / real / integer) | 返回参数值数组 | 1. 顺序严格匹配GenParamName(如GenParamName为[‘a’,‘b’],则GenParamValue为[val_a, val_b]);2. 若 Index为数组/all,则按“计量对象1的参数1→计量对象1的参数2→计量对象2的参数1→计量对象2的参数2”排列;3. 类型匹配参数(如 object_type返回字符串,measure_sigma返回实数,num_instances返回整数) |
radius仅圆对象有效,length1仅矩形对象有效),跨类型读取会抛异常;measure_sigma、num_instances)适用于所有类型计量对象;GenParamValue的顺序完全由GenParamName和Index决定,批量读取时需严格对应顺序解析;row/column/radius、矩形的length1/length2)仅能通过add_metrology_object_*算子设置,无法通过set_metrology_object_param修改,get_metrology_object_param仅可读取;object_params会返回该计量对象所有几何参数的集合(如矩形返回[row, column, phi, length1, length2]);2(H_MSG_TRUE),参数无效(如参数名错误、索引错误)时直接抛出异常。create_metrology_model:创建空的2D计量模型(基础前置);add_metrology_object_*(如add_metrology_object_rectangle2_measure):向模型添加计量对象(生成基础参数);set_metrology_object_param:(可选)修改计量对象参数后,读取验证修改结果;get_metrology_object_indices:获取有效计量对象索引(用于精准指定Index)。set_metrology_object_param:根据读取的参数值调整配置(如动态修改num_instances);get_metrology_object_num_instances:结合参数值统计检测实例数;dev_print_var:打印参数值,用于调试或日志输出;clear_metrology_model:释放计量模型句柄(收尾操作)。| 算子名称 | 核心区别 | 适用场景 |
|---|---|---|
get_metrology_object_param | 读取计量对象的所有类型参数(几何、测量、规则),支持批量读取 | 验证配置、调试参数、读取基准几何值 |
get_metrology_object_fuzzy_param | 仅读取计量对象的模糊规则参数(如模糊分数阈值) | 调试模糊检测规则 |
get_metrology_object_num_instances | 仅读取计量对象的检测实例数量 | 统计检测到的目标数量 |
get_metrology_object_measures | 仅读取计量对象的测量区域轮廓+边缘原始坐标 | 可视化测量区域、验证边缘检测原始结果 |
get_metrology_object_param是2D计量模块的全维度参数读取工具,支持读取计量对象的几何、测量、检测规则类所有参数;GenParamName,且专属几何参数仅适用于对应类型的计量对象,跨类型读取会抛异常;row/column/radius)仅能通过add算子设置,无法通过set修改,get仅可读取基准值。