Class DetectChessboardSquarePoints<T extends ImageGray<T>>

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

public class DetectChessboardSquarePoints<T extends ImageGray<T>>
extends Object
Given a binary image it detects the presence of chess board calibration grids. 1) Detect blobs in binary image and select square like ones. 2) Create two grids, inner and outer, 3) Put the grids together, 4) extract initial estimate for corners
  • Constructor Details

    • DetectChessboardSquarePoints

      public DetectChessboardSquarePoints​(int numRows, int numCols, ConfigLength maxCornerDistance, DetectPolygonBinaryGrayRefine<T> detectorSquare)
      Configures chess board detector.
      Parameters:
      numRows - Number of rows in square grid
      numCols - Number of columns in square grid
      maxCornerDistance - Maximum distance in pixels that two "overlapping" corners can be from each other.
  • Method Details

    • process

      public boolean process​(T input, GrayU8 binary)
      Detects chessboard in the binary image. Square corners must be disconnected. Returns true if a chessboard was found, false otherwise.
      Parameters:
      input - Original input image.
      binary - Binary image of chessboard
      Returns:
      True if successful.
    • adjustBeforeOptimize

      public void adjustBeforeOptimize​(Polygon2D_F64 polygon, DogArray_B touchesBorder, boolean clockwise)
      The polygon detected from the contour is too small because the binary image was eroded. This expand the size of the polygon so that it fits the image edge better
    • getGraphs

      public List<List<SquareNode>> getGraphs()
    • getShapeToClusters

      public SquaresIntoCrossClusters getShapeToClusters()
    • getGrids

      public SquareCrossClustersIntoGrids getGrids()