Class DetectChessboardBinaryPattern<T extends ImageGray<T>>

java.lang.Object
boofcv.alg.fiducial.calib.chess.DetectChessboardBinaryPattern<T>

public class DetectChessboardBinaryPattern<T extends ImageGray<T>>
extends Object

Detects calibration points inside a chessboard calibration target. First the image is thresholded to create a binary image for square detection, then the binary image is eroded to make sure the squares don't touch. After that DetectChessboardSquarePoints is called and it detects and sorts the squares.

The found control points are ensured to be returned in a row-major format with the correct number of rows and columns, with a counter clockwise ordering. Note that when viewed on the monitor this will appear to be clockwise because the y-axis points down. If there are multiple valid solution then the solution with the (0,0) grid point closest top the origin is selected.

Example of a 7 by 5 grid; row, column.
  • Constructor Details

    • DetectChessboardBinaryPattern

      public DetectChessboardBinaryPattern​(int numRows, int numCols, ConfigLength maxCornerDistance, DetectPolygonBinaryGrayRefine<T> detectorSquare, InputToBinary<T> inputToBinary)
      Configures detection parameters
      Parameters:
      numRows - Number of rows in the grid. Target dependent.
      numCols - Number of columns in the grid. Target dependent.
      maxCornerDistance - The maximum distance two square corners can be from each other in pixels
  • Method Details

    • reset

      public void reset()
      Forgets any past history and resets the detector
    • process

      public boolean process​(T gray)
    • getCalibrationPoints

      public List<PointIndex2D_F64> getCalibrationPoints()
    • getColumns

      public int getColumns()
    • getRows

      public int getRows()