39 #ifndef __OPENCV_CHARUCO_HPP__ 40 #define __OPENCV_CHARUCO_HPP__ 42 #include <opencv2/core.hpp> 83 CV_WRAP
void draw(Size outSize, OutputArray img,
int marginSize = 0,
int borderBits = 1);
100 CV_WRAP
static Ptr<CharucoBoard> create(
int squaresX,
int squaresY,
float squareLength,
101 float markerLength,
const Ptr<Dictionary> &dictionary);
119 void _getNearestMarkerCorners();
159 InputArray image,
const Ptr<CharucoBoard> &
board,
160 OutputArray charucoCorners, OutputArray
charucoIds,
162 InputArray
distCoeffs = noArray(),
int minMarkers = 2);
186 const Ptr<CharucoBoard> &board, InputArray
cameraMatrix,
187 InputArray
distCoeffs, OutputArray rvec, OutputArray tvec,
188 bool useExtrinsicGuess =
false);
205 InputArray charucoIds = noArray(),
206 Scalar cornerColor = Scalar(255, 0, 0));
245 InputArrayOfArrays charucoCorners, InputArrayOfArrays charucoIds,
const Ptr<CharucoBoard> &board,
247 OutputArrayOfArrays
rvecs, OutputArrayOfArrays
tvecs,
250 TermCriteria
criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON));
255 InputArrayOfArrays charucoCorners, InputArrayOfArrays charucoIds,
const Ptr<CharucoBoard> &board,
256 Size imageSize, InputOutputArray cameraMatrix, InputOutputArray distCoeffs,
257 OutputArrayOfArrays rvecs = noArray(), OutputArrayOfArrays tvecs = noArray(),
int flags = 0,
258 TermCriteria
criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON));
285 InputArray markerIds,
float squareMarkerLengthRate,
286 OutputArrayOfArrays diamondCorners, OutputArray diamondIds,
287 InputArray cameraMatrix = noArray(),
288 InputArray distCoeffs = noArray());
310 CV_EXPORTS_W
void drawDetectedDiamonds(InputOutputArray image, InputArrayOfArrays diamondCorners,
311 InputArray diamondIds = noArray(),
312 Scalar borderColor = Scalar(0, 0, 255));
333 int markerLength, OutputArray img,
int marginSize = 0,
CV_EXPORTS_AS(calibrateCameraCharucoExtended) double calibrateCameraCharuco(InputArrayOfArrays charucoCorners
Calibrate a camera using Charuco corners.
CV_EXPORTS_W void drawDetectedCornersCharuco(InputOutputArray image, InputArray charucoCorners, InputArray charucoIds=noArray(), Scalar cornerColor=Scalar(255, 0, 0))
Draws a set of Charuco corners.
CV_PROP std::vector< std::vector< int > > nearestMarkerCorners
CV_EXPORTS_W void detectCharucoDiamond(InputArray image, InputArrayOfArrays markerCorners, InputArray markerIds, float squareMarkerLengthRate, OutputArrayOfArrays diamondCorners, OutputArray diamondIds, InputArray cameraMatrix=noArray(), InputArray distCoeffs=noArray())
Detect ChArUco Diamond markers.
CV_EXPORTS void drawCharucoDiamond(const Ptr< Dictionary > &dictionary, Vec4i ids, int squareLength, int markerLength, OutputArray img, int marginSize=0, int borderBits=1)
Draw a ChArUco Diamond marker.
CV_EXPORTS_W void drawDetectedDiamonds(InputOutputArray image, InputArrayOfArrays diamondCorners, InputArray diamondIds=noArray(), Scalar borderColor=Scalar(0, 0, 255))
Draw a set of detected ChArUco Diamond markers.
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray cameraMatrix
InputArrayOfArrays const Ptr< CharucoBoard > Size imageSize
CV_WRAP float getMarkerLength() const
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray distCoeffs
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray int TermCriteria criteria
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray stdDeviationsExtrinsics
CV_PROP std::vector< Point3f > chessboardCorners
InputArrayOfArrays charucoIds
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray perViewErrors
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray int flags
CV_PROP std::vector< std::vector< int > > nearestMarkerIdx
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray stdDeviationsIntrinsics
CV_EXPORTS_W double calibrateCameraCharuco(InputArrayOfArrays charucoCorners, InputArrayOfArrays charucoIds, const Ptr< CharucoBoard > &board, Size imageSize, InputOutputArray cameraMatrix, InputOutputArray distCoeffs, OutputArrayOfArrays rvecs=noArray(), OutputArrayOfArrays tvecs=noArray(), int flags=0, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, DBL_EPSILON))
It's the same function as calibrateCameraCharuco but without calibration error estimation.
CV_WRAP Size getChessboardSize() const
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays rvecs
CV_EXPORTS_W bool estimatePoseCharucoBoard(InputArray charucoCorners, InputArray charucoIds, const Ptr< CharucoBoard > &board, InputArray cameraMatrix, InputArray distCoeffs, OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess=false)
Pose estimation for a ChArUco board given some of their corners.
InputArrayOfArrays const Ptr< CharucoBoard > Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays tvecs
CV_EXPORTS_W 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)
Interpolate position of ChArUco board corners.
CV_WRAP float getSquareLength() const
InputArrayOfArrays const Ptr< CharucoBoard > & board
ChArUco board Specific class for ChArUco boards. A ChArUco board is a planar board where the markers ...