#pragma once #include "SG_algo_Export.h" #include #define _OUTPUT_DEBUG_DATA 1 typedef struct { SVzNL3DPoint wheelArchPos; SVzNL3DPoint wheelUpPos; SVzNL3DPoint wheelDownPos; SVzNL3DPoint arcLine[2]; SVzNL3DPoint upLine[2]; SVzNL3DPoint downLine[2]; SVzNL3DPoint centerLine[2]; double archToCenterHeigth; double archToGroundHeigth; }WD_wheelArchInfo; //读版本号 SG_APISHARED_EXPORT const char* wd_wheelArchHeigthMeasureVersion(void); //相机水平安装计算地面调平参数。。 //相机Z轴基本平行地面时,需要以地面为参照,将相机调水平 //旋转矩阵为调平参数,即将平面法向调整为垂直向量的参数 SG_APISHARED_EXPORT SSG_planeCalibPara wd_horizonCamera_getGroundCalibPara( std::vector< std::vector>& scanLines); //相机水平时姿态调平,并去除地面 SG_APISHARED_EXPORT void wd_horizonCamera_lineDataR( std::vector< SVzNL3DPosition>& a_line, const double* camPoseR, double groundH); //相机水平时姿态调平,并去除地面 SG_APISHARED_EXPORT bool wd_wheelPresenseDetection( std::vector>& scanLine, const SVzNL3DRangeD wheelRoi3d); //提取工件角点及定位长度信息 SG_APISHARED_EXPORT WD_wheelArchInfo wd_wheelArchHeigthMeasure( std::vector< std::vector>& scanLines, const SSG_cornerParam cornerPara, const SSG_lineSegParam lineSegPara, const SSG_outlierFilterParam filterParam, const SSG_treeGrowParam growParam, const SSG_planeCalibPara groundCalibPara, int* errCode); //标定块凹槽长度计算 SG_APISHARED_EXPORT double wd_getCalibrationBlockLength( std::vector< std::vector>& scanLines, const double nominalTotalLen, //标定块总长度(601),用于过滤虚假信号 const SSG_outlierFilterParam filterParam, const SSG_treeGrowParam growParam, const SVzNLRangeD calibratiionBlockYRange, #if _OUTPUT_DEBUG_DATA std::vector< std::vector>& debugData, #endif int* errCode );