25 nargchk(nrhs>=4 && (nrhs%2)==0 && nlhs<=3);
31 Mat cameraMatrix, distCoeffs;
33 for (
int i=4; i<nrhs; i+=2) {
34 string key(rhs[i].toString());
35 if (key ==
"CameraMatrix")
36 cameraMatrix = rhs[i+1].toMat(
CV_64F);
37 else if (key ==
"DistCoeffs")
38 distCoeffs = rhs[i+1].toMat(
CV_64F);
39 else if (key ==
"MinMarkers")
40 minMarkers = rhs[i+1].toInt();
43 "Unrecognized option %s", key.
c_str());
58 board, charucoCorners, charucoIds,
60 (!distCoeffs.
empty()) ? distCoeffs :
noArray(), minMarkers);
61 plhs[0] =
MxArray(charucoCorners);
struct mxArray_tag mxArray
Forward declaration for mxArray.
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
Main entry called from Matlab.
Common definitions for the aruco module.
InputOutputArray noArray()
LIBMWMEX_API_EXTERN_C void mexErrMsgIdAndTxt(const char *identifier, const char *err_msg,...)
Issue formatted error message with corresponding error identifier and return to MATLAB prompt...
mxArray object wrapper for data conversion and manipulation.
void nargchk(bool cond)
Alias for input/output arguments number check.
Global constant definitions.
int interpolateCornersCharuco(InputArrayOfArrays markerCorners, InputArray markerIds, InputArray image, const Ptr< CharucoBoard > &board, OutputArray charucoCorners, OutputArray charucoIds, InputArray cameraMatrix=noArray(), InputArray distCoeffs=noArray(), int minMarkers=2)
cv::Ptr< cv::aruco::CharucoBoard > create_CharucoBoard(std::vector< MxArray >::const_iterator first, std::vector< MxArray >::const_iterator last)
Create an instance of CharucoBoard using options in arguments.