#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 #include 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数量 int boardIdInterval; //每块Mark的charuco码的间隔。比如第一块从0开始,第二块从8开始,间隔为8 int boardChaucoIDNum; //每块Mark的charuco码的数量。对于3x3的charuco, 二维码的个数为4 }SWD_BQ_MarkBoardInfo; //读版本号 WD_APISHARED_EXPORT const char* wd_charuco3DMarkVersion(void); //提取查科Mark3D信息 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& marks);