78 lines
2.1 KiB
C
78 lines
2.1 KiB
C
|
|
#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
|
|||
|
|
#define BAG_ALGO_USE_CORNER_FEATURE 1
|
|||
|
|
|
|||
|
|
#include "SG_baseDataType.h"
|
|||
|
|
#include <vector>
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
SSG_bagParam bagParam;
|
|||
|
|
SSG_outlierFilterParam filterParam;
|
|||
|
|
#if BAG_ALGO_USE_CORNER_FEATURE
|
|||
|
|
SSG_cornerParam cornerParam;
|
|||
|
|
#else
|
|||
|
|
SSG_slopeParam slopeParam;
|
|||
|
|
SSG_VFeatureParam valleyPara;
|
|||
|
|
#endif
|
|||
|
|
SSG_treeGrowParam growParam;
|
|||
|
|
//SSG_objSortParam sortParam;
|
|||
|
|
//SSG_polarScanParam polarScanParam;
|
|||
|
|
}SG_bagPositionParam;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
double jumpTh; //<2F><><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>йأ<D0B9>Ϊ<EFBFBD><CEAA><EFBFBD>̵Ŀ<C4BF><D7B6><EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD>
|
|||
|
|
double baseHoleLen; //<2F><><EFBFBD>ֳ<EFBFBD><D6B3>йأ<D0B9><D8A3><EFBFBD><EFBFBD>̿<CCBF><D7B6>ij<EFBFBD><C4B3><EFBFBD>
|
|||
|
|
double baseHoleDist; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7B6>ľ<EFBFBD><C4BE><EFBFBD>
|
|||
|
|
}SSG_stackBaseParam;
|
|||
|
|
|
|||
|
|
SG_APISHARED_EXPORT void sg_lineDataR(SVzNL3DLaserLine* a_line,
|
|||
|
|
const double* camPoseR,
|
|||
|
|
double groundH);
|
|||
|
|
|
|||
|
|
SG_APISHARED_EXPORT void sg_bagPositioning_lineProc(
|
|||
|
|
SVzNL3DLaserLine* a_line,
|
|||
|
|
int lineIdx,
|
|||
|
|
int* errCode,
|
|||
|
|
std::vector<SSG_lineFeature>& all_vLineFeatures,
|
|||
|
|
std::vector<std::vector<int>>& noisePts,
|
|||
|
|
const SG_bagPositionParam algoParam);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>֯<EFBFBD><D6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ץȡ
|
|||
|
|
SG_APISHARED_EXPORT void sg_getBagPosition(
|
|||
|
|
SVzNL3DLaserLine* laser3DPoints,
|
|||
|
|
int lineNum,
|
|||
|
|
//std::vector<SSG_lineFeature>& all_vLineFeatures,
|
|||
|
|
//std::vector<std::vector<int>>& noisePts,
|
|||
|
|
const SG_bagPositionParam algoParam,
|
|||
|
|
const SSG_planeCalibPara poseCalibPara,
|
|||
|
|
std::vector<SSG_peakRgnInfo>& objOps);
|
|||
|
|
|
|||
|
|
SG_APISHARED_EXPORT void sg_sideBagPosition(
|
|||
|
|
SVzNL3DLaserLine* laser3DPoints,
|
|||
|
|
int lineNum,
|
|||
|
|
const SG_bagPositionParam algoParam,
|
|||
|
|
std::vector<SSG_sideBagInfo>& objOps);
|
|||
|
|
|
|||
|
|
SG_APISHARED_EXPORT void sg_getSideBagStackBasePosition(
|
|||
|
|
SVzNL3DLaserLine* laser3DPoints,
|
|||
|
|
int lineNum,
|
|||
|
|
const SSG_stackBaseParam stackBaseParam,
|
|||
|
|
const SSG_treeGrowParam growParam,
|
|||
|
|
SSG_6DOF* stackBasePosition //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>úͽǶ<CDBD>
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>Ͳο<CDB2><CEBF><EFBFBD>ƽƽ<C6BD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ƽ
|
|||
|
|
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>淨<EFBFBD><E6B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
|
SG_APISHARED_EXPORT SSG_planeCalibPara sg_getBagBaseCalibPara(
|
|||
|
|
SVzNL3DLaserLine* laser3DPoints,
|
|||
|
|
int lineNum);
|