Class DetectorParameters


  • public class DetectorParameters
    extends java.lang.Object
    Parameters for the detectMarker process: - adaptiveThreshWinSizeMin: minimum window size for adaptive thresholding before finding contours (default 3). - adaptiveThreshWinSizeMax: maximum window size for adaptive thresholding before finding contours (default 23). - adaptiveThreshWinSizeStep: increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10). - adaptiveThreshConstant: constant for adaptive thresholding before finding contours (default 7) - 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). - 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). - polygonalApproxAccuracyRate: minimum accuracy during the polygonal approximation process to determine which contours are squares. - minCornerDistanceRate: minimum distance between corners for detected markers relative to its perimeter (default 0.05) - minDistanceToBorder: minimum distance of any corner to the image border for detected markers (in pixels) (default 3) - minMarkerDistanceRate: minimum mean distance beetween two marker corners to be considered similar, so that the smaller one is removed. The rate is relative to the smaller perimeter of the two markers (default 0.05). - cornerRefinementMethod: corner refinement method. (CORNER_REFINE_NONE, no refinement. CORNER_REFINE_SUBPIX, do subpixel refinement. CORNER_REFINE_CONTOUR use contour-Points, CORNER_REFINE_APRILTAG use the AprilTag2 approach) - cornerRefinementWinSize: window size for the corner refinement process (in pixels) (default 5). - cornerRefinementMaxIterations: maximum number of iterations for stop criteria of the corner refinement process (default 30). - cornerRefinementMinAccuracy: minimum error for the stop cristeria of the corner refinement process (default: 0.1) - markerBorderBits: number of bits of the marker border, i.e. marker border width (default 1). - perspectiveRemovePixelPerCell: number of bits (per dimension) for each cell of the marker when removing the perspective (default 8). - 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) - 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). - 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) - errorCorrectionRate error correction rate respect to the maximun error correction capability for each dictionary. (default 0.6). - aprilTagMinClusterPixels: reject quads containing too few pixels. - aprilTagMaxNmaxima: how many corner candidates to consider when segmenting a group of pixels into a quad. - 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). - aprilTagMaxLineFitMse: When fitting lines to the contours, what is the maximum mean squared error allowed? This is useful in rejecting contours that are far from being quad shaped; rejecting these quads "early" saves expensive decoding processing. - aprilTagMinWhiteBlackDiff: 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]). - aprilTagDeglitch: should the thresholded image be deglitched? Only useful for very noisy images - aprilTagQuadDecimate: 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 done at full resolution. - aprilTagQuadSigma: What Gaussian blur should be applied to the segmented image (used for quad detection?) Parameter is the standard deviation in pixels. Very noisy images benefit from non-zero values (e.g. 0.8). - 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)
    • Field Detail

      • nativeObj

        protected final long nativeObj
    • Constructor Detail

      • DetectorParameters

        protected DetectorParameters​(long addr)
    • Method Detail

      • getNativeObjAddr

        public long getNativeObjAddr()
      • get_adaptiveThreshWinSizeMin

        public int get_adaptiveThreshWinSizeMin()
      • set_adaptiveThreshWinSizeMin

        public void set_adaptiveThreshWinSizeMin​(int adaptiveThreshWinSizeMin)
      • get_adaptiveThreshWinSizeMax

        public int get_adaptiveThreshWinSizeMax()
      • set_adaptiveThreshWinSizeMax

        public void set_adaptiveThreshWinSizeMax​(int adaptiveThreshWinSizeMax)
      • get_adaptiveThreshWinSizeStep

        public int get_adaptiveThreshWinSizeStep()
      • set_adaptiveThreshWinSizeStep

        public void set_adaptiveThreshWinSizeStep​(int adaptiveThreshWinSizeStep)
      • get_adaptiveThreshConstant

        public double get_adaptiveThreshConstant()
      • set_adaptiveThreshConstant

        public void set_adaptiveThreshConstant​(double adaptiveThreshConstant)
      • get_minMarkerPerimeterRate

        public double get_minMarkerPerimeterRate()
      • set_minMarkerPerimeterRate

        public void set_minMarkerPerimeterRate​(double minMarkerPerimeterRate)
      • get_maxMarkerPerimeterRate

        public double get_maxMarkerPerimeterRate()
      • set_maxMarkerPerimeterRate

        public void set_maxMarkerPerimeterRate​(double maxMarkerPerimeterRate)
      • get_polygonalApproxAccuracyRate

        public double get_polygonalApproxAccuracyRate()
      • set_polygonalApproxAccuracyRate

        public void set_polygonalApproxAccuracyRate​(double polygonalApproxAccuracyRate)
      • get_minCornerDistanceRate

        public double get_minCornerDistanceRate()
      • set_minCornerDistanceRate

        public void set_minCornerDistanceRate​(double minCornerDistanceRate)
      • get_minDistanceToBorder

        public int get_minDistanceToBorder()
      • set_minDistanceToBorder

        public void set_minDistanceToBorder​(int minDistanceToBorder)
      • get_minMarkerDistanceRate

        public double get_minMarkerDistanceRate()
      • set_minMarkerDistanceRate

        public void set_minMarkerDistanceRate​(double minMarkerDistanceRate)
      • get_cornerRefinementMethod

        public int get_cornerRefinementMethod()
      • set_cornerRefinementMethod

        public void set_cornerRefinementMethod​(int cornerRefinementMethod)
      • get_cornerRefinementWinSize

        public int get_cornerRefinementWinSize()
      • set_cornerRefinementWinSize

        public void set_cornerRefinementWinSize​(int cornerRefinementWinSize)
      • get_cornerRefinementMaxIterations

        public int get_cornerRefinementMaxIterations()
      • set_cornerRefinementMaxIterations

        public void set_cornerRefinementMaxIterations​(int cornerRefinementMaxIterations)
      • get_cornerRefinementMinAccuracy

        public double get_cornerRefinementMinAccuracy()
      • set_cornerRefinementMinAccuracy

        public void set_cornerRefinementMinAccuracy​(double cornerRefinementMinAccuracy)
      • get_markerBorderBits

        public int get_markerBorderBits()
      • set_markerBorderBits

        public void set_markerBorderBits​(int markerBorderBits)
      • get_perspectiveRemovePixelPerCell

        public int get_perspectiveRemovePixelPerCell()
      • set_perspectiveRemovePixelPerCell

        public void set_perspectiveRemovePixelPerCell​(int perspectiveRemovePixelPerCell)
      • get_perspectiveRemoveIgnoredMarginPerCell

        public double get_perspectiveRemoveIgnoredMarginPerCell()
      • set_perspectiveRemoveIgnoredMarginPerCell

        public void set_perspectiveRemoveIgnoredMarginPerCell​(double perspectiveRemoveIgnoredMarginPerCell)
      • get_maxErroneousBitsInBorderRate

        public double get_maxErroneousBitsInBorderRate()
      • set_maxErroneousBitsInBorderRate

        public void set_maxErroneousBitsInBorderRate​(double maxErroneousBitsInBorderRate)
      • get_minOtsuStdDev

        public double get_minOtsuStdDev()
      • set_minOtsuStdDev

        public void set_minOtsuStdDev​(double minOtsuStdDev)
      • get_errorCorrectionRate

        public double get_errorCorrectionRate()
      • set_errorCorrectionRate

        public void set_errorCorrectionRate​(double errorCorrectionRate)
      • get_aprilTagQuadDecimate

        public float get_aprilTagQuadDecimate()
      • set_aprilTagQuadDecimate

        public void set_aprilTagQuadDecimate​(float aprilTagQuadDecimate)
      • get_aprilTagQuadSigma

        public float get_aprilTagQuadSigma()
      • set_aprilTagQuadSigma

        public void set_aprilTagQuadSigma​(float aprilTagQuadSigma)
      • get_aprilTagMinClusterPixels

        public int get_aprilTagMinClusterPixels()
      • set_aprilTagMinClusterPixels

        public void set_aprilTagMinClusterPixels​(int aprilTagMinClusterPixels)
      • get_aprilTagMaxNmaxima

        public int get_aprilTagMaxNmaxima()
      • set_aprilTagMaxNmaxima

        public void set_aprilTagMaxNmaxima​(int aprilTagMaxNmaxima)
      • get_aprilTagCriticalRad

        public float get_aprilTagCriticalRad()
      • set_aprilTagCriticalRad

        public void set_aprilTagCriticalRad​(float aprilTagCriticalRad)
      • get_aprilTagMaxLineFitMse

        public float get_aprilTagMaxLineFitMse()
      • set_aprilTagMaxLineFitMse

        public void set_aprilTagMaxLineFitMse​(float aprilTagMaxLineFitMse)
      • get_aprilTagMinWhiteBlackDiff

        public int get_aprilTagMinWhiteBlackDiff()
      • set_aprilTagMinWhiteBlackDiff

        public void set_aprilTagMinWhiteBlackDiff​(int aprilTagMinWhiteBlackDiff)
      • get_aprilTagDeglitch

        public int get_aprilTagDeglitch()
      • set_aprilTagDeglitch

        public void set_aprilTagDeglitch​(int aprilTagDeglitch)
      • get_detectInvertedMarker

        public boolean get_detectInvertedMarker()
      • set_detectInvertedMarker

        public void set_detectInvertedMarker​(boolean detectInvertedMarker)
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable