aruco_DetectorParameters
import { aruco_DetectorParameters } from '@banou/opencv-wasm'Use after await initOpenCV(). See the initialization and named imports guide.
Native object: release it with using or delete(). Factories can return null; check before calling methods.
struct DetectorParameters is used by ArucoDetector
Constructors and members
static new
Create an owned aruco_DetectorParameters object. Release native handles with using or delete().
new(): aruco_DetectorParameters;The aruco_DetectorParameters result.
clone
Create another handle to the same native object. This retains the object without copying its pixels or algorithm state; dispose both handles separately.
clone(): this;The this result.
adaptiveThreshWinSizeMin
minimum window size for adaptive thresholding before finding contours (default 3).
adaptiveThreshWinSizeMin: number;adaptiveThreshWinSizeMax
maximum window size for adaptive thresholding before finding contours (default 23).
adaptiveThreshWinSizeMax: number;adaptiveThreshWinSizeStep
increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10).
adaptiveThreshWinSizeStep: number;adaptiveThreshConstant
constant for adaptive thresholding before finding contours (default 7)
adaptiveThreshConstant: number;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).
minMarkerPerimeterRate: number;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).
maxMarkerPerimeterRate: number;polygonalApproxAccuracyRate
minimum accuracy during the polygonal approximation process to determine which contours are squares. (default 0.03)
polygonalApproxAccuracyRate: number;minCornerDistanceRate
minimum distance between corners for detected markers relative to its perimeter (default 0.05)
minCornerDistanceRate: number;minDistanceToBorder
minimum distance of any corner to the image border for detected markers (in pixels) (default 3)
minDistanceToBorder: number;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: minGroupDistance.
minMarkerDistanceRate: number;minGroupDistance
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).
minGroupDistance: number;cornerRefinementMethod
default value CORNER_REFINE_NONE
cornerRefinementMethod: number;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)
cornerRefinementWinSize: number;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.
relativeCornerRefinmentWinSize: number;cornerRefinementMaxIterations
maximum number of iterations for stop criteria of the corner refinement process (default 30).
cornerRefinementMaxIterations: number;cornerRefinementMinAccuracy
minimum error for the stop cristeria of the corner refinement process (default: 0.1)
cornerRefinementMinAccuracy: number;markerBorderBits
number of bits of the marker border, i.e. marker border width (default 1).
markerBorderBits: number;perspectiveRemovePixelPerCell
number of bits (per dimension) for each cell of the marker when removing the perspective (default 4).
perspectiveRemovePixelPerCell: number;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)
perspectiveRemoveIgnoredMarginPerCell: number;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).
maxErroneousBitsInBorderRate: number;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)
minOtsuStdDev: number;errorCorrectionRate
error correction rate respect to the maximum error correction capability for each dictionary (default 0.6).
errorCorrectionRate: number;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
aprilTagQuadDecimate: number;aprilTagQuadSigma
what Gaussian blur should be applied to the segmented image (used for quad detection?)
aprilTagQuadSigma: number;aprilTagMinClusterPixels
April :: Internal variables reject quads containing too few pixels (default 5).
aprilTagMinClusterPixels: number;aprilTagMaxNmaxima
how many corner candidates to consider when segmenting a group of pixels into a quad (default 10).
aprilTagMaxNmaxima: number;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)
aprilTagCriticalRad: number;aprilTagMaxLineFitMse
when fitting lines to the contours, what is the maximum mean squared error
aprilTagMaxLineFitMse: number;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)
aprilTagMinWhiteBlackDiff: number;aprilTagDeglitch
should the thresholded image be deglitched? Only useful for very noisy images (default 0).
aprilTagDeglitch: number;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)
detectInvertedMarker: boolean;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
useAruco3Detection: boolean;minSideLengthCanonicalImg
minimum side length of a marker in the canonical image. Latter is the binarized image in which contours are searched.
minSideLengthCanonicalImg: number;minMarkerLengthRatioOriginalImg
range [0,1], eq (2) from paper. The parameter tau_i has a direct influence on the processing speed.
minMarkerLengthRatioOriginalImg: number;validBitIdThreshold
range [0,1], define the acceptable threshold when comparing the detected marker to the dictionary during marker identification.
validBitIdThreshold: number;readDetectorParameters
Read a new set of DetectorParameters from FileNode (use FileStorage.root()).
readDetectorParameters(fn: FileNode): boolean;fnfn argument (FileNode).
The boolean result.
writeDetectorParameters
Write a set of DetectorParameters to FileStorage
writeDetectorParameters(fs: FileStorage, name: EmbindString): boolean;2 available overloads
writeDetectorParameters(fs: FileStorage): boolean;writeDetectorParameters(fs: FileStorage, name: EmbindString): boolean;fsfs argument (FileStorage).
namename argument (EmbindString).
The boolean result.
These signatures describe this package. Upstream documentation can mention optional backends that are absent from this build. Check runtime compatibility before choosing a backend or file format.