三运放仪表放大器设计:从传感器毫伏信号到ADC标准电压的完整指南
2026/6/8 20:02:05
read_metrology_model全解析read_metrology_model是HALCON 2D计量(2D Metrology)模块的文件IO类核心算子,核心功能是从指定文件(默认后缀.mtr)中读取经write_metrology_model保存的完整计量模型,生成可直接使用的计量模型句柄。它实现了2D计量模型的“持久化复用”——无需重复手动创建计量对象、配置测量参数,直接加载预定义的模型即可开展检测,大幅提升项目开发效率和模型复用性。
FileName对应的文件是否存在、文件格式是否为HALCON计量模型专属的.mtr格式,且文件内容未损坏/篡改;MetrologyHandle句柄,作为后续操作该模型的唯一标识;apply_metrology_model、get_metrology_object_indices等算子,无需额外初始化。| 参数名 | 类型 | 功能说明 | 默认值 | 关键取值规则 | 注意事项 |
|---|---|---|---|---|---|
| FileName | filename.read → (string) | 要读取的计量模型文件名(含路径) | - | 取值规则: ▪ 支持相对路径(如 'model/circle_model.mtr')或绝对路径(如'D:/halcon_model/circle_model.mtr');▪ 文件后缀必须为 .mtr(HALCON计量模型专属格式) | 1. 路径错误、文件不存在会抛出“文件未找到”异常; 2. 非 .mtr格式文件(如.txt/.dat)会抛出“文件格式无效”异常;3. 若仅传文件名(如 'circle_model.mtr'),则从当前工作目录读取 |
| 参数名 | 类型 | 功能说明 | 关联说明 |
|---|---|---|---|
| MetrologyHandle | metrology_model → (handle) | 加载后的计量模型句柄 | 1. 是后续所有2D计量算子(如apply_metrology_model/get_metrology_object_result)的核心输入;2. 每个 read_metrology_model调用生成独立的句柄,修改该模型不会影响原.mtr文件;3. 使用完毕需调用 clear_metrology_model释放,避免内存泄漏 |
write_metrology_model保存的.mtr文件,其他格式(如手动修改的.mtr、重命名的.txt)会触发格式异常,无法加载;get_system('working_directory')查看);set_metrology_object_param)仅作用于内存,不会同步到原.mtr文件;set_metrology_object_param等算子仍可修改其内部状态;clear_metrology_model释放,否则会导致内存泄漏;2(H_MSG_TRUE),文件不存在/格式错误/权限不足时直接抛出异常(而非返回错误码)。write_metrology_model:将配置好的计量模型保存为.mtr文件(read_metrology_model的必要前提,无此算子则无可用的.mtr文件);get_metrology_object_indices:获取加载模型中的计量对象索引;apply_metrology_model:使用加载的模型执行边缘检测与拟合;get_metrology_object_num_instances:统计检测到的实例数量;get_metrology_object_result:读取拟合后的测量结果;clear_metrology_model:释放计量模型句柄(收尾必备)。| 算子名称 | 核心区别 | 适用场景 |
|---|---|---|
read_metrology_model | 从.mtr文件加载已配置完成的计量模型,直接可用 | 量产项目、需复用模型的场景(避免重复配置参数) |
create_metrology_model | 创建空的计量模型,需手动调用add_metrology_object_*添加对象/配置参数 | 快速验证、临时创建模型的场景 |
write_metrology_model | 将内存中的计量模型保存为.mtr文件,实现持久化 | 配置好模型后,保存为文件供后续复用 |
read_metrology_model核心作用是读取.mtr格式的预保存计量模型,生成可直接使用的模型句柄,实现模型复用;write_metrology_model保存的.mtr文件,路径错误/格式不符会触发异常;clear_metrology_model释放,避免内存泄漏。