66 lines
1.6 KiB
C
66 lines
1.6 KiB
C
|
|
#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>
|
|||
|
|
#include <opencv2/opencv.hpp>
|
|||
|
|
|
|||
|
|
#define _OUTPUT_DEBUG_DATA 1
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
double lineLen; //ֱ<>߶γ<DFB6><CEB3><EFBFBD>
|
|||
|
|
}SSX_BQworkpiecePara;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
int workpieceType;
|
|||
|
|
SVzNL3DPoint corner_L[3];
|
|||
|
|
SVzNL3DPoint corner_R[3];
|
|||
|
|
SVzNL3DPoint corner_T[3];
|
|||
|
|
SVzNL3DPoint corner_B[3];
|
|||
|
|
}SSX_BQworkpieceResult;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
int rgnIdx;
|
|||
|
|
SVzNL3DPoint* edge;
|
|||
|
|
int edge_size;
|
|||
|
|
SVzNL3DPoint edge_ends[2];
|
|||
|
|
SVzNL3DPoint* edgeLink_1;
|
|||
|
|
int edgeLink1_size;
|
|||
|
|
SVzNL3DPoint edge_link1_ends[2];
|
|||
|
|
SVzNL3DPoint* edgeLink_2;
|
|||
|
|
int edgeLink2_size;
|
|||
|
|
SVzNL3DPoint edge_link2_ends[2];
|
|||
|
|
}SSX_debugInfo;
|
|||
|
|
|
|||
|
|
//<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 sx_BQ_getBaseCalibPara(
|
|||
|
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SG_APISHARED_EXPORT void sx_BQ_lineDataR(
|
|||
|
|
std::vector< SVzNL3DPosition>& a_line,
|
|||
|
|
const double* camPoseR,
|
|||
|
|
double groundH);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
SG_APISHARED_EXPORT SSX_BQworkpieceResult sx_BQ_getWorkpieceCorners(
|
|||
|
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
|||
|
|
const SSG_cornerParam cornerPara,
|
|||
|
|
const SSG_outlierFilterParam filterParam,
|
|||
|
|
SSG_treeGrowParam growParam,
|
|||
|
|
SSG_planeCalibPara groundCalibPara,
|
|||
|
|
SSX_BQworkpiecePara workpieceParam,
|
|||
|
|
#if _OUTPUT_DEBUG_DATA
|
|||
|
|
SSX_debugInfo* debug_conturs,
|
|||
|
|
#endif
|
|||
|
|
int* errCode);
|