Package boofcv.alg.fiducial.calib.chess
Class DetectChessboardSquarePoints<T extends ImageGray<T>>
java.lang.Object
boofcv.alg.fiducial.calib.chess.DetectChessboardSquarePoints<T>
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 Summary
ConstructorDescriptionDetectChessboardSquarePoints
(int numRows, int numCols, ConfigLength maxCornerDistance, DetectPolygonBinaryGrayRefine<T> detectorSquare) Configures chess board detector. -
Method Summary
Modifier and TypeMethodDescriptionvoid
adjustBeforeOptimize
(Polygon2D_F64 polygon, DogArray_B touchesBorder, boolean clockwise) The polygon detected from the contour is too small because the binary image was eroded.getGrids()
boolean
Detects chessboard in the binary image.
-
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 gridnumCols
- Number of columns in square gridmaxCornerDistance
- Maximum distance in pixels that two "overlapping" corners can be from each other.
-
-
Method Details
-
process
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
-
getShapeToClusters
-
getGrids
-