51 lines
1.6 KiB
C
51 lines
1.6 KiB
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "IVrConfig.h"
|
|||
|
|
#include "workpieceHolePositioning_Export.h"
|
|||
|
|
#include "SG_baseDataType.h"
|
|||
|
|
#include <string>
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 配置参数到算法参数的转换工具
|
|||
|
|
*
|
|||
|
|
* 将 VrXxx 配置结构体转换为算法库所需的结构体,
|
|||
|
|
* 并提供算法参数的日志打印功能。
|
|||
|
|
*/
|
|||
|
|
namespace AlgoParamConverter
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// 工件孔参数转换
|
|||
|
|
WD_workpieceHoleParam ToAlgoParam(const VrWorkpieceHoleParam& param);
|
|||
|
|
|
|||
|
|
/// 线段分割参数转换
|
|||
|
|
SSG_lineSegParam ToAlgoParam(const VrLineSegParam& 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 workpiecePara 工件孔参数
|
|||
|
|
* @param lineSegPara 线段分割参数
|
|||
|
|
* @param filterParam 滤波参数
|
|||
|
|
* @param growParam 树生长参数
|
|||
|
|
* @param groundCalibPara 平面校准参数
|
|||
|
|
* @param clibMatrix 手眼标定矩阵 (4x4)
|
|||
|
|
*/
|
|||
|
|
void LogAlgoParams(const std::string& logTag,
|
|||
|
|
const WD_workpieceHoleParam& workpiecePara,
|
|||
|
|
const SSG_lineSegParam& lineSegPara,
|
|||
|
|
const SSG_outlierFilterParam& filterParam,
|
|||
|
|
const SSG_treeGrowParam& growParam,
|
|||
|
|
const SSG_planeCalibPara& groundCalibPara,
|
|||
|
|
const double clibMatrix[16]);
|
|||
|
|
|
|||
|
|
} // namespace AlgoParamConverter
|