49 lines
1.5 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "IVrConfig.h"
#include "rodAndBarDetection_Export.h"
#include "SG_baseDataType.h"
#include <string>
/**
* @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