41 lines
1.1 KiB
C++
41 lines
1.1 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>
|
||
|
||
typedef struct
|
||
{
|
||
double lapHeight;//搭接厚度
|
||
double weldMinLen; //最小焊缝长度,用于过滤可能的虚假焊缝
|
||
int weldRefPoints; //输出的直线焊缝的参考点,默认是2个(起点和终点)
|
||
}SSX_lapWeldParam;
|
||
|
||
//计算一个平面调平参数。
|
||
//数据输入中可以有一个地平面和参考调平平面,以最高的平面进行调平
|
||
//旋转矩阵为调平参数,即将平面法向调整为垂直向量的参数
|
||
SG_APISHARED_EXPORT SSG_planeCalibPara sx_getBaseCalibPara(
|
||
std::vector< std::vector<SVzNL3DPosition>>& scanLines);
|
||
|
||
//相机姿态调平,并去除地面
|
||
SG_APISHARED_EXPORT void sx_lineDataR(
|
||
std::vector< SVzNL3DPosition>& a_line,
|
||
const double* camPoseR,
|
||
double groundH);
|
||
|
||
//提取搭接焊缝
|
||
SG_APISHARED_EXPORT void sx_getLapWeldPostion(
|
||
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
||
const SSG_cornerParam cornerPara,
|
||
SSG_treeGrowParam growParam,
|
||
SSX_lapWeldParam lapWeldParam,
|
||
std::vector<std::vector<SVzNL3DPoint>>& objOps,
|
||
int* errCode);
|
||
|