Class DetectSquareGridFiducial<T extends ImageGray<T>>

java.lang.Object
boofcv.alg.fiducial.calib.grid.DetectSquareGridFiducial<T>

public class DetectSquareGridFiducial<T extends ImageGray<T>> extends Object
Detect a square grid calibration target and returns the corner points of each square. This calibration grid is specified by a set of squares which are organized in a grid pattern. All squares are the same size. The entire grid must be visible. Space between the squares is specified as a ratio of the square size. The grid will be oriented so that returned points are in counter clockwise (CCW) ordering, which appears to be CW in the image.

There is also always at least two solutions to the ordering. For sake of consistency it will select the orientation where index 0 is the closest to the origin.

Example of a 4 by 3 grid (row then column).

  • Constructor Details

    • DetectSquareGridFiducial

      public DetectSquareGridFiducial(int numRows, int numCols, double spaceToSquareRatio, InputToBinary<T> inputToBinary, DetectPolygonBinaryGrayRefine<T> detectorSquare)
      COnfigures the detector
      Parameters:
      numRows - Number of black squares in the grid rows
      numCols - Number of black squares in the grid columns
      spaceToSquareRatio - Ratio of spacing between the squares and the squares width
      inputToBinary - Converts input image into a binary image
      detectorSquare - Detects the squares in the image. Must be configured to detect squares
  • Method Details

    • process

      public boolean process(T image)
      Process the image and detect the calibration target
      Parameters:
      image - Input image
      Returns:
      true if a calibration target was found and false if not
    • getCalibrationPoints

      public List<PointIndex2D_F64> getCalibrationPoints()
    • getCalibrationRows

      public int getCalibrationRows()
    • getCalibrationCols

      public int getCalibrationCols()
    • getDetectorSquare

      public DetectPolygonBinaryGrayRefine<T> getDetectorSquare()
    • getClusters

      public List<List<SquareNode>> getClusters()
    • getSquaresIntoClusters

      public SquaresIntoRegularClusters getSquaresIntoClusters()
    • getGrids

      public SquareRegularClustersIntoGrids getGrids()
    • getBinary

      public GrayU8 getBinary()
    • getColumns

      public int getColumns()
    • getRows

      public int getRows()