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