Struct cv::aruco::DetectorParameters#
struct DetectorParameters is used by ArucoDetector
#include <opencv2/objdetect/aruco_detector.hpp>Collaboration diagram for cv::aruco::DetectorParameters:
Detailed Description#
struct DetectorParameters is used by ArucoDetector
Constructor & Destructor Documentation#
DetectorParameters()#
cv::aruco::DetectorParameters::DetectorParameters()
Python:
cv.aruco.DetectorParameters() -> <aruco_DetectorParameters object>
Member Function Documentation#
readDetectorParameters()#
bool cv::aruco::DetectorParameters::readDetectorParameters(const FileNode & fn)
Python:
cv.aruco.DetectorParameters.readDetectorParameters(fn) -> retval
Read a new set of DetectorParameters from FileNode (use FileStorage.root()).
writeDetectorParameters()#
bool cv::aruco::DetectorParameters::writeDetectorParameters(
FileStorage & fs,
const String & name = String() )
Python:
cv.aruco.DetectorParameters.writeDetectorParameters(fs[, name]) -> retval
Write a set of DetectorParameters to FileStorage.
Member Data Documentation#
adaptiveThreshConstant#
double cv::aruco::DetectorParameters::adaptiveThreshConstant
constant for adaptive thresholding before finding contours (default 7)
adaptiveThreshWinSizeMax#
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMax
maximum window size for adaptive thresholding before finding contours (default 23).
adaptiveThreshWinSizeMin#
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMin
minimum window size for adaptive thresholding before finding contours (default 3).
adaptiveThreshWinSizeStep#
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeStep
increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10).
aprilTagCriticalRad#
float cv::aruco::DetectorParameters::aprilTagCriticalRad
reject quads where pairs of edges have angles that are close to straight or close to 180 degrees.
Zero means that no quads are rejected. (In radians) (default 10*PI/180)
aprilTagDeglitch#
int cv::aruco::DetectorParameters::aprilTagDeglitch
should the thresholded image be deglitched? Only useful for very noisy images (default 0).
aprilTagMaxLineFitMse#
float cv::aruco::DetectorParameters::aprilTagMaxLineFitMse
when fitting lines to the contours, what is the maximum mean squared error
aprilTagMaxNmaxima#
int cv::aruco::DetectorParameters::aprilTagMaxNmaxima
how many corner candidates to consider when segmenting a group of pixels into a quad (default 10).
aprilTagMinClusterPixels#
int cv::aruco::DetectorParameters::aprilTagMinClusterPixels
reject quads containing too few pixels (default 5).
aprilTagMinWhiteBlackDiff#
int cv::aruco::DetectorParameters::aprilTagMinWhiteBlackDiff
add an extra check that the white model must be (overall) brighter than the black model.
When we build our model of black & white pixels, we add an extra check that the white model must be (overall) brighter than the black model. How much brighter? (in pixel values, [0,255]), (default 5)
aprilTagQuadDecimate#
float cv::aruco::DetectorParameters::aprilTagQuadDecimate
April :: User-configurable parameters.
Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in detection rate. Decoding the binary payload is still
aprilTagQuadSigma#
float cv::aruco::DetectorParameters::aprilTagQuadSigma
what Gaussian blur should be applied to the segmented image (used for quad detection?)
cornerRefinementMaxIterations#
int cv::aruco::DetectorParameters::cornerRefinementMaxIterations
maximum number of iterations for stop criteria of the corner refinement process (default 30).
cornerRefinementMethod#
int cv::aruco::DetectorParameters::cornerRefinementMethod
default value CORNER_REFINE_NONE
cornerRefinementMinAccuracy#
double cv::aruco::DetectorParameters::cornerRefinementMinAccuracy
minimum error for the stop cristeria of the corner refinement process (default: 0.1)
cornerRefinementWinSize#
int cv::aruco::DetectorParameters::cornerRefinementWinSize
maximum window size for the corner refinement process (in pixels) (default 5).
The window size may decrease if the ArUco marker is too small, check relativeCornerRefinmentWinSize. The final window size is calculated as: min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize), where averageArucoModuleSize is average module size of ArUco marker in pixels. (ArUco marker is composed of black and white modules)
detectInvertedMarker#
bool cv::aruco::DetectorParameters::detectInvertedMarker
to check if there is a white marker.
In order to generate a “white” marker just invert a normal marker by using a tilde, ~markerImage. (default false)
errorCorrectionRate#
double cv::aruco::DetectorParameters::errorCorrectionRate
error correction rate respect to the maximum error correction capability for each dictionary (default 0.6).
markerBorderBits#
int cv::aruco::DetectorParameters::markerBorderBits
number of bits of the marker border, i.e. marker border width (default 1).
maxErroneousBitsInBorderRate#
double cv::aruco::DetectorParameters::maxErroneousBitsInBorderRate
maximum number of accepted erroneous bits in the border (i.e. number of allowed white bits in the border).
Represented as a rate respect to the total number of bits per marker (default 0.35).
maxMarkerPerimeterRate#
double cv::aruco::DetectorParameters::maxMarkerPerimeterRate
determine maximum perimeter for marker contour to be detected.
This is defined as a rate respect to the maximum dimension of the input image (default 4.0).
minCornerDistanceRate#
double cv::aruco::DetectorParameters::minCornerDistanceRate
minimum distance between corners for detected markers relative to its perimeter (default 0.05)
minDistanceToBorder#
int cv::aruco::DetectorParameters::minDistanceToBorder
minimum distance of any corner to the image border for detected markers (in pixels) (default 3)
minGroupDistance#
float cv::aruco::DetectorParameters::minGroupDistance = 0.21f
minimum average distance between the corners of the two markers in group to add them to the list of candidates
The average distance between the corners of the two markers is calculated relative to its module size (default 0.21).
minMarkerDistanceRate#
double cv::aruco::DetectorParameters::minMarkerDistanceRate
minimum average distance between the corners of the two markers to be grouped (default 0.125).
The rate is relative to the smaller perimeter of the two markers. Two markers are grouped if average distance between the corners of the two markers is less than min(MarkerPerimeter1, MarkerPerimeter2)*minMarkerDistanceRate.
default value is 0.125 because 0.125*MarkerPerimeter = (MarkerPerimeter / 4) * 0.5 = half the side of the marker.
Note
default value was changed from 0.05 after 4.8.1 release, because the filtering algorithm has been changed. Now a few candidates from the same group can be added to the list of candidates if they are far from each other.
See also
minMarkerLengthRatioOriginalImg#
float cv::aruco::DetectorParameters::minMarkerLengthRatioOriginalImg
range [0,1], eq (2) from paper. The parameter tau_i has a direct influence on the processing speed.
minMarkerPerimeterRate#
double cv::aruco::DetectorParameters::minMarkerPerimeterRate
determine minimum perimeter for marker contour to be detected.
This is defined as a rate respect to the maximum dimension of the input image (default 0.03).
minOtsuStdDev#
double cv::aruco::DetectorParameters::minOtsuStdDev
minimum standard deviation in pixels values during the decodification step to apply Otsu thresholding (otherwise, all the bits are set to 0 or 1 depending on mean higher than 128 or not) (default 5.0)
minSideLengthCanonicalImg#
int cv::aruco::DetectorParameters::minSideLengthCanonicalImg
minimum side length of a marker in the canonical image. Latter is the binarized image in which contours are searched.
perspectiveRemoveIgnoredMarginPerCell#
double cv::aruco::DetectorParameters::perspectiveRemoveIgnoredMarginPerCell
width of the margin of pixels on each cell not considered for the determination of the cell bit.
Represents the rate respect to the total size of the cell, i.e. perspectiveRemovePixelPerCell (default 0.13)
perspectiveRemovePixelPerCell#
int cv::aruco::DetectorParameters::perspectiveRemovePixelPerCell
number of bits (per dimension) for each cell of the marker when removing the perspective (default 4).
polygonalApproxAccuracyRate#
double cv::aruco::DetectorParameters::polygonalApproxAccuracyRate
minimum accuracy during the polygonal approximation process to determine which contours are squares. (default 0.03)
relativeCornerRefinmentWinSize#
float cv::aruco::DetectorParameters::relativeCornerRefinmentWinSize
Dynamic window size for corner refinement relative to Aruco module size (default 0.3).
The final window size is calculated as: min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize), where averageArucoModuleSize is average module size of ArUco marker in pixels. (ArUco marker is composed of black and white modules) In the case of markers located far from each other, it may be useful to increase the value of the parameter to 0.4-0.5. In the case of markers located close to each other, it may be useful to decrease the parameter value to 0.1-0.2.
useAruco3Detection#
bool cv::aruco::DetectorParameters::useAruco3Detection
enable the new and faster Aruco detection strategy.
Proposed in the paper: Romero-Ramirez et al: Speeded up detection of squared fiducial markers (2018) https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers
validBitIdThreshold#
float cv::aruco::DetectorParameters::validBitIdThreshold
range [0,1], define the acceptable threshold when comparing the detected marker to the dictionary during marker identification.
Source file#
The documentation for this struct was generated from the following file:
opencv2/objdetect/aruco_detector.hpp