EstervQrCode 1.1.1
Library for qr code manipulation
Public Member Functions | Public Attributes | List of all members

struct DetectorParameters is used by ArucoDetector More...

#include <aruco_detector.hpp>

Public Member Functions

CV_WRAP DetectorParameters ()
 
CV_WRAP bool readDetectorParameters (const FileNode &fn)
 Read a new set of DetectorParameters from FileNode (use FileStorage.root()). More...
 
CV_WRAP bool writeDetectorParameters (FileStorage &fs, const String &name=String())
 Write a set of DetectorParameters to FileStorage. More...
 

Public Attributes

CV_PROP_RW int adaptiveThreshWinSizeMin
 minimum window size for adaptive thresholding before finding contours (default 3). More...
 
CV_PROP_RW int adaptiveThreshWinSizeMax
 maximum window size for adaptive thresholding before finding contours (default 23). More...
 
CV_PROP_RW int adaptiveThreshWinSizeStep
 increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10). More...
 
CV_PROP_RW double adaptiveThreshConstant
 constant for adaptive thresholding before finding contours (default 7) More...
 
CV_PROP_RW double minMarkerPerimeterRate
 determine minimum perimeter for marker contour to be detected. More...
 
CV_PROP_RW double maxMarkerPerimeterRate
 determine maximum perimeter for marker contour to be detected. More...
 
CV_PROP_RW double polygonalApproxAccuracyRate
 minimum accuracy during the polygonal approximation process to determine which contours are squares. (default 0.03) More...
 
CV_PROP_RW double minCornerDistanceRate
 minimum distance between corners for detected markers relative to its perimeter (default 0.05) More...
 
CV_PROP_RW int minDistanceToBorder
 minimum distance of any corner to the image border for detected markers (in pixels) (default 3) More...
 
CV_PROP_RW double minMarkerDistanceRate
 minimum average distance between the corners of the two markers to be grouped (default 0.125). More...
 
CV_PROP_RW float minGroupDistance = 0.21f
 minimum average distance between the corners of the two markers in group to add them to the list of candidates More...
 
CV_PROP_RW int cornerRefinementMethod
 default value CORNER_REFINE_NONE More...
 
CV_PROP_RW int cornerRefinementWinSize
 maximum window size for the corner refinement process (in pixels) (default 5). More...
 
CV_PROP_RW float relativeCornerRefinmentWinSize
 Dynamic window size for corner refinement relative to Aruco module size (default 0.3). More...
 
CV_PROP_RW int cornerRefinementMaxIterations
 maximum number of iterations for stop criteria of the corner refinement process (default 30). More...
 
CV_PROP_RW double cornerRefinementMinAccuracy
 minimum error for the stop cristeria of the corner refinement process (default: 0.1) More...
 
CV_PROP_RW int markerBorderBits
 number of bits of the marker border, i.e. marker border width (default 1). More...
 
CV_PROP_RW int perspectiveRemovePixelPerCell
 number of bits (per dimension) for each cell of the marker when removing the perspective (default 4). More...
 
CV_PROP_RW double perspectiveRemoveIgnoredMarginPerCell
 width of the margin of pixels on each cell not considered for the determination of the cell bit. More...
 
CV_PROP_RW double maxErroneousBitsInBorderRate
 maximum number of accepted erroneous bits in the border (i.e. number of allowed white bits in the border). More...
 
CV_PROP_RW double minOtsuStdDev
 minimun 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) More...
 
CV_PROP_RW double errorCorrectionRate
 error correction rate respect to the maximun error correction capability for each dictionary (default 0.6). More...
 
CV_PROP_RW float aprilTagQuadDecimate
 April :: User-configurable parameters. More...
 
CV_PROP_RW float aprilTagQuadSigma
 what Gaussian blur should be applied to the segmented image (used for quad detection?) More...
 
CV_PROP_RW int aprilTagMinClusterPixels
 reject quads containing too few pixels (default 5). More...
 
CV_PROP_RW int aprilTagMaxNmaxima
 how many corner candidates to consider when segmenting a group of pixels into a quad (default 10). More...
 
CV_PROP_RW float aprilTagCriticalRad
 reject quads where pairs of edges have angles that are close to straight or close to 180 degrees. More...
 
CV_PROP_RW float aprilTagMaxLineFitMse
 when fitting lines to the contours, what is the maximum mean squared error More...
 
CV_PROP_RW int aprilTagMinWhiteBlackDiff
 add an extra check that the white model must be (overall) brighter than the black model. More...
 
CV_PROP_RW int aprilTagDeglitch
 should the thresholded image be deglitched? Only useful for very noisy images (default 0). More...
 
CV_PROP_RW bool detectInvertedMarker
 to check if there is a white marker. More...
 
CV_PROP_RW bool useAruco3Detection
 enable the new and faster Aruco detection strategy. More...
 
CV_PROP_RW int minSideLengthCanonicalImg
 minimum side length of a marker in the canonical image. Latter is the binarized image in which contours are searched. More...
 
CV_PROP_RW float minMarkerLengthRatioOriginalImg
 range [0,1], eq (2) from paper. The parameter tau_i has a direct influence on the processing speed. More...
 

Detailed Description

struct DetectorParameters is used by ArucoDetector

Constructor & Destructor Documentation

◆ DetectorParameters()

CV_WRAP cv::aruco::DetectorParameters::DetectorParameters ( )
inline

Member Function Documentation

◆ readDetectorParameters()

CV_WRAP bool cv::aruco::DetectorParameters::readDetectorParameters ( const FileNode fn)

Read a new set of DetectorParameters from FileNode (use FileStorage.root()).

◆ writeDetectorParameters()

CV_WRAP bool cv::aruco::DetectorParameters::writeDetectorParameters ( FileStorage fs,
const String name = String() 
)

Write a set of DetectorParameters to FileStorage.

Member Data Documentation

◆ adaptiveThreshConstant

CV_PROP_RW double cv::aruco::DetectorParameters::adaptiveThreshConstant

constant for adaptive thresholding before finding contours (default 7)

◆ adaptiveThreshWinSizeMax

CV_PROP_RW int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMax

maximum window size for adaptive thresholding before finding contours (default 23).

◆ adaptiveThreshWinSizeMin

CV_PROP_RW int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMin

minimum window size for adaptive thresholding before finding contours (default 3).

◆ adaptiveThreshWinSizeStep

CV_PROP_RW int cv::aruco::DetectorParameters::adaptiveThreshWinSizeStep

increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10).

◆ aprilTagCriticalRad

CV_PROP_RW 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

CV_PROP_RW int cv::aruco::DetectorParameters::aprilTagDeglitch

should the thresholded image be deglitched? Only useful for very noisy images (default 0).

◆ aprilTagMaxLineFitMse

CV_PROP_RW float cv::aruco::DetectorParameters::aprilTagMaxLineFitMse

when fitting lines to the contours, what is the maximum mean squared error

◆ aprilTagMaxNmaxima

CV_PROP_RW int cv::aruco::DetectorParameters::aprilTagMaxNmaxima

how many corner candidates to consider when segmenting a group of pixels into a quad (default 10).

◆ aprilTagMinClusterPixels

CV_PROP_RW int cv::aruco::DetectorParameters::aprilTagMinClusterPixels

reject quads containing too few pixels (default 5).

◆ aprilTagMinWhiteBlackDiff

CV_PROP_RW 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

CV_PROP_RW 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

CV_PROP_RW float cv::aruco::DetectorParameters::aprilTagQuadSigma

what Gaussian blur should be applied to the segmented image (used for quad detection?)

◆ cornerRefinementMaxIterations

CV_PROP_RW int cv::aruco::DetectorParameters::cornerRefinementMaxIterations

maximum number of iterations for stop criteria of the corner refinement process (default 30).

◆ cornerRefinementMethod

CV_PROP_RW int cv::aruco::DetectorParameters::cornerRefinementMethod

default value CORNER_REFINE_NONE

◆ cornerRefinementMinAccuracy

CV_PROP_RW double cv::aruco::DetectorParameters::cornerRefinementMinAccuracy

minimum error for the stop cristeria of the corner refinement process (default: 0.1)

◆ cornerRefinementWinSize

CV_PROP_RW 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

CV_PROP_RW 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

CV_PROP_RW double cv::aruco::DetectorParameters::errorCorrectionRate

error correction rate respect to the maximun error correction capability for each dictionary (default 0.6).

◆ markerBorderBits

CV_PROP_RW int cv::aruco::DetectorParameters::markerBorderBits

number of bits of the marker border, i.e. marker border width (default 1).

◆ maxErroneousBitsInBorderRate

CV_PROP_RW 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

CV_PROP_RW 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

CV_PROP_RW double cv::aruco::DetectorParameters::minCornerDistanceRate

minimum distance between corners for detected markers relative to its perimeter (default 0.05)

◆ minDistanceToBorder

CV_PROP_RW int cv::aruco::DetectorParameters::minDistanceToBorder

minimum distance of any corner to the image border for detected markers (in pixels) (default 3)

◆ minGroupDistance

CV_PROP_RW 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

CV_PROP_RW 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
minGroupDistance.

◆ minMarkerLengthRatioOriginalImg

CV_PROP_RW 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

CV_PROP_RW 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

CV_PROP_RW double cv::aruco::DetectorParameters::minOtsuStdDev

minimun 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

CV_PROP_RW 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

CV_PROP_RW 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

CV_PROP_RW int cv::aruco::DetectorParameters::perspectiveRemovePixelPerCell

number of bits (per dimension) for each cell of the marker when removing the perspective (default 4).

◆ polygonalApproxAccuracyRate

CV_PROP_RW double cv::aruco::DetectorParameters::polygonalApproxAccuracyRate

minimum accuracy during the polygonal approximation process to determine which contours are squares. (default 0.03)

◆ relativeCornerRefinmentWinSize

CV_PROP_RW 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

CV_PROP_RW 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


The documentation for this struct was generated from the following file: