Documentation of 'boofcv.alg.fiducial.square.DetectFiducialSquareBinary' Java class
DetectFiducialSquareBinary
boofcv.alg.fiducial.square

Class DetectFiducialSquareBinary<T extends ImageGray>

  • Direct Known Subclasses:
    VisualizeSquareBinaryFiducial.Detector


    public class DetectFiducialSquareBinary<T extends ImageGray>
    extends BaseDetectFiducialSquare<T>

    Square fiducial that encodes numerical values in a binary N by N grids, where N ≥ 3. The outer border is entirely black while the inner portion is divided into a grid of equally sized back and white squares. Typical grid sizes are 3x3, 4x4, and 5x5, which can encode up to 32, 4096, and 2,097,152 unique values respectively. In other words, a grid of size N can encode N*N-4 bits, or a number with 2N*N-4 values. The lower left corner is always back and while all the other corners are always white. This allows orientation to be uniquely determined.

    The above image is an example of a 4x4 grid and visually shows the fiducials internal coordinate system. The center of the fiducial is the origin of the coordinate system, e.g. all sides are width/2 distance away from the origin. +x is to the right, +y is up, and +z out of the paper towards the viewer. The black orientation corner is pointed out in the above image. The fiducial's width refers to the width of each side along the black border NOT the internal encoded image. The size of each square is the same and has a width of (fiducal width)*(1.0 - 2.0*(border fractional width))/N.

    NOTE: While a larger grid size will allow you to encode more numbers it will increase the rate at which ID numbers are incorrectly identified.
    NOTE: The size of the border can be adjusted, but 0.25 is recommended. The thinner the black border is the worse it will perform when viewed at an angle, but the larger the squares can be.

    • Constructor Detail

      • DetectFiducialSquareBinary

        public DetectFiducialSquareBinary(int gridWidth,
                                          double borderWidthFraction,
                                          double minimumBlackBorderFraction,
                                          InputToBinary<T> inputToBinary,
                                          BinaryPolygonDetector<T> quadDetector,
                                          java.lang.Class<T> inputType)
        Configures the fiducial detector
        Parameters:
        gridWidth - Number of elements wide the encoded square grid is. 3,4, or 5 is recommended.
        borderWidthFraction - Fraction of the fiducial's width that the border occupies. 0.25 is recommended.
        inputToBinary - Converts the input image into a binary image
        quadDetector - Detects quadrilaterals in the input image
        inputType - Type of image it's processing
    • Method Detail

      • setLengthSide

        public void setLengthSide(double lengthSide)
      • getGridWidth

        public int getGridWidth()
        Number of elements wide the grid is
      • setAmbiguityThreshold

        public void setAmbiguityThreshold(double ambiguityThreshold)
        parameters which specifies how tolerant it is of a square being ambiguous black or white.
        Parameters:
        ambiguityThreshold - 0 to 1, inclusive
      • getNumberOfDistinctFiducials

        public long getNumberOfDistinctFiducials()
      • getGrayNoBorder

        public GrayF32 getGrayNoBorder()
      • getBinaryInner

        public GrayU8 getBinaryInner()
      • printClassified

        public void printClassified()

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.