39
#ifndef __OPENCV_ARUCO_HPP__
40
#define __OPENCV_ARUCO_HPP__
42
#include <opencv2/core.hpp>
44
#include "opencv2/aruco/dictionary.hpp"
156
CV_PROP_RW
int
adaptiveThreshWinSizeMin;
157
CV_PROP_RW
int
adaptiveThreshWinSizeMax;
158
CV_PROP_RW
int
adaptiveThreshWinSizeStep;
159
CV_PROP_RW
double
adaptiveThreshConstant;
160
CV_PROP_RW
double
minMarkerPerimeterRate;
161
CV_PROP_RW
double
maxMarkerPerimeterRate;
162
CV_PROP_RW
double
polygonalApproxAccuracyRate;
163
CV_PROP_RW
double
minCornerDistanceRate;
164
CV_PROP_RW
int
minDistanceToBorder;
165
CV_PROP_RW
double
minMarkerDistanceRate;
166
CV_PROP_RW
int
cornerRefinementMethod;
167
CV_PROP_RW
int
cornerRefinementWinSize;
168
CV_PROP_RW
int
cornerRefinementMaxIterations;
169
CV_PROP_RW
double
cornerRefinementMinAccuracy;
170
CV_PROP_RW
int
markerBorderBits;
171
CV_PROP_RW
int
perspectiveRemovePixelPerCell;
172
CV_PROP_RW
double
perspectiveRemoveIgnoredMarginPerCell;
173
CV_PROP_RW
double
maxErroneousBitsInBorderRate;
174
CV_PROP_RW
double
minOtsuStdDev;
175
CV_PROP_RW
double
errorCorrectionRate;
178
CV_PROP_RW
float
aprilTagQuadDecimate;
179
CV_PROP_RW
float
aprilTagQuadSigma;
182
CV_PROP_RW
int
aprilTagMinClusterPixels;
183
CV_PROP_RW
int
aprilTagMaxNmaxima;
184
CV_PROP_RW
float
aprilTagCriticalRad;
185
CV_PROP_RW
float
aprilTagMaxLineFitMse;
186
CV_PROP_RW
int
aprilTagMinWhiteBlackDiff;
187
CV_PROP_RW
int
aprilTagDeglitch;
190
CV_PROP_RW
bool
detectInvertedMarker;
223
OutputArrayOfArrays
rejectedImgPoints = noArray(), InputArray cameraMatrix= noArray(), InputArray distCoeff= noArray());
257
InputArray cameraMatrix, InputArray distCoeffs,
294
CV_WRAP
void
setIds(InputArray ids);
298
CV_PROP std::vector< std::vector< Point3f > > objPoints;
305
CV_PROP_RW std::vector< int > ids;
329
CV_WRAP
void
draw(
Size
outSize,
OutputArray
img,
int
marginSize = 0,
int
borderBits = 1);
346
CV_WRAP
static
Ptr<GridBoard>
create(
int
markersX,
int
markersY,
float
markerLength,
347
float
markerSeparation,
const
Ptr<Dictionary>
&dictionary,
int
firstMarker = 0);
352
CV_WRAP
Size
getGridSize()
const
{
return
Size(_markersX, _markersY); }
357
CV_WRAP
float
getMarkerLength()
const
{
return
_markerLength; }
362
CV_WRAP
float
getMarkerSeparation()
const
{
return
_markerSeparation; }
367
int
_markersX, _markersY;
373
float
_markerSeparation;
447
InputArray cameraMatrix = noArray(), InputArray distCoeffs = noArray(),
448
float
minRepDistance = 10.f,
float
errorCorrectionRate = 3.f,
bool
checkAllOrders =
true,
471
InputArray ids = noArray(),
495
InputArray rvec, InputArray tvec,
float
length);
532
int
marginSize = 0,
int
borderBits = 1);
540
int
marginSize = 0,
int
borderBits = 1);
581
InputArrayOfArrays corners, InputArray ids, InputArray counter,
const
Ptr<Board>
&board,
592
InputArrayOfArrays corners, InputArray ids, InputArray counter,
const
Ptr<Board>
&board,
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition:
mat.hpp:295
Template class for specifying the size of an image or rectangle.
Definition:
core/types.hpp:316
The class defining termination criteria for iterative algorithms.
Definition:
core/types.hpp:853
@ EPS
the desired accuracy or change in parameters at which the iterative algorithm stops
Definition:
core/types.hpp:862
@ COUNT
the maximum number of iterations or elements to compute
Definition:
core/types.hpp:860
Board of markers
Definition:
aruco.hpp:272
Planar board with grid arrangement of markers More common type of board. All markers are placed in th...
Definition:
aruco.hpp:315
CV_EXPORTS_W int estimatePoseBoard(InputArrayOfArrays corners, InputArray ids, const Ptr< Board > &board, InputArray cameraMatrix, InputArray distCoeffs, InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess=false)
Pose estimation for a board of markers
CV_EXPORTS_W void drawAxis(InputOutputArray image, InputArray cameraMatrix, InputArray distCoeffs, InputArray rvec, InputArray tvec, float length)
Draw coordinate system axis from pose estimation
CV_EXPORTS_W void getBoardObjectAndImagePoints(const Ptr< Board > &board, InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints)
Given a board configuration and a set of detected markers, returns the corresponding image points and...
CV_EXPORTS_W void estimatePoseSingleMarkers(InputArrayOfArrays corners, float markerLength, InputArray cameraMatrix, InputArray distCoeffs, OutputArray rvecs, OutputArray tvecs, OutputArray _objPoints=noArray())
Pose estimation for single markers
CV_EXPORTS_W void detectMarkers(InputArray image, const Ptr< Dictionary > &dictionary, OutputArrayOfArrays corners, OutputArray ids, const Ptr< DetectorParameters > ¶meters=DetectorParameters::create(), OutputArrayOfArrays rejectedImgPoints=noArray(), InputArray cameraMatrix=noArray(), InputArray distCoeff=noArray())
Basic marker detection
CV_EXPORTS_W void drawPlanarBoard(const Ptr< Board > &board, Size outSize, OutputArray img, int marginSize=0, int borderBits=1)
Draw a planar board
CV_EXPORTS_W void refineDetectedMarkers(InputArray image, const Ptr< Board > &board, InputOutputArrayOfArrays detectedCorners, InputOutputArray detectedIds, InputOutputArrayOfArrays rejectedCorners, InputArray cameraMatrix=noArray(), InputArray distCoeffs=noArray(), float minRepDistance=10.f, float errorCorrectionRate=3.f, bool checkAllOrders=true, OutputArray recoveredIdxs=noArray(), const Ptr< DetectorParameters > ¶meters=DetectorParameters::create())
Refind not detected markers based on the already detected and the board layout
CV_EXPORTS_W void drawDetectedMarkers(InputOutputArray image, InputArrayOfArrays corners, InputArray ids=noArray(), Scalar borderColor=Scalar(0, 255, 0))
Draw detected markers in image
void _drawPlanarBoardImpl(Board *board, Size outSize, OutputArray img, int marginSize=0, int borderBits=1)
Implementation of drawPlanarBoard that accepts a raw Board pointer.
CV_EXPORTS_W double calibrateCameraAruco(InputArrayOfArrays corners, InputArray ids, InputArray counter, const Ptr< Board > &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 #calibrateCameraAruco but without calibration error estimation.
CornerRefineMethod
Definition:
aruco.hpp:81
@ CORNER_REFINE_APRILTAG
Tag and corners detection based on the AprilTag 2 approach
Definition:
aruco.hpp:85
@ CORNER_REFINE_SUBPIX
ArUco approach and refine the corners locations using corner subpixel accuracy
Definition:
aruco.hpp:83
@ CORNER_REFINE_CONTOUR
ArUco approach and refine the corners locations using the contour-points line fitting
Definition:
aruco.hpp:84
@ CORNER_REFINE_NONE
Tag and corners detection based on the ArUco approach
Definition:
aruco.hpp:82
CV_EXPORTS_AS(calibrateCameraExtended) double calibrateCamera(InputArrayOfArrays objectPoints
Finds the camera intrinsic and extrinsic parameters from several views of a calibration pattern.
CV_EXPORTS_W void drawMarker(InputOutputArray img, Point position, const Scalar &color, int markerType=MARKER_CROSS, int markerSize=20, int thickness=1, int line_type=8)
Draws a marker on a predefined position in an image.
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75
Definition:
cvstd_wrapper.hpp:74
Parameters for the detectMarker process:
Definition:
aruco.hpp:150