#pragma once #include "IVrConfig.h" #include "rodAndBarDetection_Export.h" #include "SG_baseDataType.h" #include /** * @brief 配置参数到算法参数的转换工具 * * 将 VrXxx 配置结构体转换为算法库所需的结构体, * 并提供算法参数的日志打印功能。 */ namespace AlgoParamConverter { /// 棒材参数转换 SSX_rodParam ToAlgoParam(const VrRodParam& param); /// 角点检测参数转换 SSG_cornerParam ToAlgoParam(const VrCornerParam& param); /// 滤波参数转换 SSG_outlierFilterParam ToAlgoParam(const VrOutlierFilterParam& param); /// 树生长参数转换 SSG_treeGrowParam ToAlgoParam(const VrTreeGrowParam& param); /// 平面校准参数转换(cameraCalibParam 为 nullptr 时使用默认单位矩阵) SSG_planeCalibPara ToAlgoPlaneCalibParam(const VrCameraPlaneCalibParam* cameraCalibParam); /** * @brief 打印所有算法参数日志 * @param logTag 日志标识字符串,如 "[Algo Thread]" * @param rodParam 棒材参数 * @param cornerParam 角点检测参数 * @param filterParam 滤波参数 * @param growParam 树生长参数 * @param clibMatrix 手眼标定矩阵 (4x4) */ void LogAlgoParams(const std::string& logTag, const SSX_rodParam& rodParam, const SSG_cornerParam& cornerParam, const SSG_outlierFilterParam& filterParam, const SSG_treeGrowParam& growParam, const double clibMatrix[16]); } // namespace AlgoParamConverter