Package boofcv.alg.feature.detect.chess
Class DetectChessboardCornersX
java.lang.Object
boofcv.alg.feature.detect.chess.DetectChessboardCornersX
Chessboard corner detector that's designed to be robust and fast. Specifically tested under many different lighting
conditions, with/without fisheye distortion, motion blur, out of focus, up close, far away, ... etc. This class
only operates at a single scale. See
DetectChessboardCornersXPyramid
for multi scale that's needed
to work in noisy images.
Overview:
- X-Corner detector
- Mean blur x-corner intensity 2x2 kernel
- Non-maximum suppression to find candidate corners
- Test corner properties
- Use mean-shift to refine location estimate
- Test more corner properties
- Save remaining corners
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionint
Amount of blurred applied to input image.float
The maximum of this value of the image's intensity will be used when dynamically computing the non-max threshold.double
The smallest allowed edge ratio alloweddouble
Used to prune features with the smallest edge intensity in the imagefloat
Maximum pixel value in the corner intensity imagefloat
The largest x-corner intensity is found in the image then multiplied by this factor to select the cutoff point for non-max suppressiondouble
The smallest allowed corner intensityint
Tolerance number of "spokes" in the wheel which break symmetry.boolean
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
void
Computes chessboard corners inside the imagevoid
setNonmaxRadius
(int nonmaxRadius)
-
Field Details
-
nonmaxThresholdRatio
public float nonmaxThresholdRatioThe largest x-corner intensity is found in the image then multiplied by this factor to select the cutoff point for non-max suppression -
edgeIntensityRatioThreshold
public double edgeIntensityRatioThresholdUsed to prune features with the smallest edge intensity in the image -
edgeAspectRatioThreshold
public double edgeAspectRatioThresholdThe smallest allowed edge ratio allowed -
refinedXCornerThreshold
public double refinedXCornerThresholdThe smallest allowed corner intensity -
symmetricTol
public int symmetricTolTolerance number of "spokes" in the wheel which break symmetry. Symmetry is defined as both sides being above or below the mean value. Larger the value more tolerant it is. -
blurRadius
public int blurRadiusAmount of blurred applied to input image. A radius of 1 was selected so that a 3x3 region would be sampled when computing x-corner feature intensity. -
maxIntensityImage
public float maxIntensityImageMaximum pixel value in the corner intensity image -
considerMaxIntensityImage
public float considerMaxIntensityImageThe maximum of this value of the image's intensity will be used when dynamically computing the non-max threshold. Useful when computing features across a pyramid. The layer with maximum intensity is likely to be a better threshold for corners. -
useMeanShift
public boolean useMeanShift
-
-
Constructor Details
-
DetectChessboardCornersX
public DetectChessboardCornersX()Declares internal data structures
-
-
Method Details
-
process
Computes chessboard corners inside the image- Parameters:
input
- Gray image. Not modified.
-
getCorners
-
getNonmaxRadius
public int getNonmaxRadius() -
setNonmaxRadius
public void setNonmaxRadius(int nonmaxRadius)
-