algoLib/sourceCode/boxCarMeasure_Export.h
2025-06-08 10:46:41 +08:00

40 lines
1.3 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
#if defined(SG_API_LIBRARY)
# define SG_APISHARED_EXPORT __declspec(dllexport)
#else
# define SG_APISHARED_EXPORT __declspec(dllimport)
#endif
#include "SG_baseDataType.h"
#include <vector>
typedef struct
{
SSG_outlierFilterParam filterParam;
SSG_lineRightAngleParam templatePara_HF; //直角参数。对应直角类型:水平-下降
SSG_lineRightAngleParam templatePara_FH; //直角参数。对应直角类型:下降-水平
SSG_lineRightAngleParam templatePara_HR; //直角参数。对应直角类型:水平-上升
SSG_lineRightAngleParam templatePara_RH; //直角参数。对应直角类型:上升-水平
SSG_treeGrowParam growParam;
}SG_boxCarMeasureParam;
//扫描线处理,提取直角特征
SG_APISHARED_EXPORT void sg_boxCarMeasure_lineProc(
SVzNL3DLaserLine* a_line,
int lineIdx,
int* errCode,
std::vector<SSG_lineFeature>& all_vLineFeatures,
std::vector<std::vector<int>>& noisePts,
const SG_boxCarMeasureParam measureParam);
///数据输入必须是grid格式以进行水平方向和垂直方向的处理
///1寻找直角点
///2对LINE_FEATURE_RIGHT_ANGLE_HF和LINE_FEATURE_RIGHT_ANGLE_RH两种直角点进行生长
///3) 确定尺寸
SG_APISHARED_EXPORT SSG_boxCarDimension sg_getBoxCarDimension(
SVzNL3DLaserLine* laser3DPoints,
int lineNum,
std::vector<SSG_lineFeature>& all_vLineFeatures,
std::vector<std::vector<int>>& noisePts,
const SG_boxCarMeasureParam measureParam);