algoLib/sourceCode/binocularMarkCam_Export.h

47 lines
1.2 KiB
C
Raw Normal View History

2025-12-05 23:08:46 +08:00
#pragma once
#if defined(SG_API_LIBRARY)
# define WD_APISHARED_EXPORT __declspec(dllexport)
#else
# define WD_APISHARED_EXPORT __declspec(dllimport)
#endif
#include "SG_baseDataType.h"
#include <vector>
#include <opencv2/opencv.hpp>
typedef struct
{
cv::Size patternSize; //3x3 mark
float checkerSize; //60mm
float markerSize; //45mm
int dictType; //1: DICT_6x6
}SWD_BQ_CharucoMarkInfo;
typedef struct
{
int totalBoardNum; //mark<72><6B><EFBFBD><EFBFBD>
int boardIdInterval; //ÿ<><C3BF>Mark<72><6B>charuco<63><6F><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>0<EFBFBD><30>ʼ<EFBFBD><CABC><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ8
int boardChaucoIDNum; //ÿ<><C3BF>Mark<72><6B>charuco<63><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3x3<78><33>charuco, <20><>ά<EFBFBD><CEAC><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>Ϊ4
}SWD_BQ_MarkBoardInfo;
//<2F><><EFBFBD><EFBFBD><E6B1BE>
WD_APISHARED_EXPORT const char* wd_charuco3DMarkVersion(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Mark3D<33><44>Ϣ
WD_APISHARED_EXPORT void wd_BQ_getCharuco3DMark(
cv::Mat& leftImage,
cv::Mat& rightImage,
cv::Mat& cameraMatrixL,
cv::Mat& distCoeffsL,
cv::Mat& cameraMatrixR,
cv::Mat& distCoeffsR,
cv::Mat& R1,
cv::Mat& R2,
cv::Mat& P1,
cv::Mat& P2,
cv::Mat& Q,
SWD_BQ_CharucoMarkInfo markInfo,
SWD_BQ_MarkBoardInfo boardInfo,
double disparityOffset,
std::vector<SWD_charuco3DMark>& marks);