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