algoLib/sourceCode/SG_sieveNodeDetection_Export.h
2025-06-27 23:04:51 +08:00

41 lines
1.1 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
#if defined(SG_API_LIBRARY)
# define SG_APISHARED_EXPORT __declspec(dllexport)
#else
# define SG_APISHARED_EXPORT __declspec(dllimport)
#endif
#define OUTPUT_DEBUG 0
#include "SG_baseDataType.h"
#include <vector>
#define _OUTPUT_LINE_PROC_RESULT 1
typedef struct
{
double sieveDiameter; //筛网铁丝直径
double sieveHoleSize; //筛网孔径,孔的边长
SSG_outlierFilterParam filterParam;
SSG_slopeParam slopeParam;
SSG_treeGrowParam growParam;
}SSG_sieveNodeDetectionParam;
SG_APISHARED_EXPORT void sg_lineDataR(SVzNL3DLaserLine* a_line,
const double* camPoseR,
double groundH);
SG_APISHARED_EXPORT void sg_getSieveNodes(
SVzNL3DLaserLine* laser3DPoints,
int lineNum,
const SSG_sieveNodeDetectionParam sieveDetectParam,
std::vector<std::vector<SVzNL3DPoint>>& nodePos);
//计算一个平面调平参数。
//以数据输入中ROI以内的点进行平面拟合计算调平参数
//旋转矩阵为调平参数,即将平面法向调整为垂直向量的参数
SG_APISHARED_EXPORT SSG_planeCalibPara sg_getSieveBaseCalibPara(
SVzNL3DLaserLine* laser3DPoints,
int lineNum,
std::vector<SVzNL3DRangeD>& ROIs);