66 lines
2.2 KiB
C++
Raw 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>
typedef enum
{
KeWD_WELD_CATEGORY_UNKNOWN = 0,
KeWD_WELD_CATEGPRY_I, //焊接类型1每根钢筋都有支点
KeWD_WELD_CATEGPRY_II, //焊接类型2交叉钢筋上面的钢筋有支点
}EWD_weldingCategory;
/**
* @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]);
/// 带焊缝搜索参数的重载版本
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],
const SVzNLRangeD& weldSeamRange,
EWD_weldingCategory weldingCategory);
} // namespace AlgoParamConverter