public class DetectChessCalibrationPoints<T extends boofcv.struct.image.ImageSingleBand,D extends boofcv.struct.image.ImageSingleBand>
extends java.lang.Object
Detects calibration points inside a chessboard calibration target. A crude approximation of the chess board is found by thresholding the image dynamically. Once found corner points are detected and pruned. The remaining points are computed to sub-pixel accuracy by fitting a 2D quadratic to feature intensity in a 3x3 region.
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.
| Constructor and Description |
|---|
DetectChessCalibrationPoints(int numCols,
int numRows,
int radius,
double relativeSizeThreshold,
java.lang.Class<T> imageType)
Configures detection parameters
|
| Modifier and Type | Method and Description |
|---|---|
boofcv.struct.image.ImageUInt8 |
getBinary() |
DetectChessSquaresBinary |
getFindBound() |
OrderChessboardQuadBlobs |
getOrderAlg() |
java.util.List<georegression.struct.point.Point2D_F64> |
getPoints() |
double |
getUserAdaptiveBias() |
int |
getUserAdaptiveRadius() |
double |
getUserBinaryThreshold() |
boolean |
isFoundBound() |
boolean |
process(T gray) |
void |
renderIntensity(boofcv.struct.image.ImageFloat32 wholeImage)
Only part of the image is processed when detecting features.
|
void |
reset()
Forgets any past history and resets the detector
|
void |
setUserAdaptiveBias(double userAdaptiveBias) |
void |
setUserAdaptiveRadius(int userAdaptiveRadius) |
void |
setUserBinaryThreshold(double userBinaryThreshold) |
public DetectChessCalibrationPoints(int numCols,
int numRows,
int radius,
double relativeSizeThreshold,
java.lang.Class<T> imageType)
numCols - Number of columns in the grid. Target dependent.numRows - Number of rows in the grid. Target dependent.radius - Side of interest point detection region. Typically 5relativeSizeThreshold - Increases or decreases the minimum allowed blob size. Try 1.0imageType - Type of image being processedpublic void reset()
public boolean process(T gray)
public void renderIntensity(boofcv.struct.image.ImageFloat32 wholeImage)
wholeImage - Image being written topublic OrderChessboardQuadBlobs getOrderAlg()
public DetectChessSquaresBinary getFindBound()
public java.util.List<georegression.struct.point.Point2D_F64> getPoints()
public boofcv.struct.image.ImageUInt8 getBinary()
public void setUserBinaryThreshold(double userBinaryThreshold)
public double getUserBinaryThreshold()
public int getUserAdaptiveRadius()
public void setUserAdaptiveRadius(int userAdaptiveRadius)
public double getUserAdaptiveBias()
public void setUserAdaptiveBias(double userAdaptiveBias)
public boolean isFoundBound()