Back to Adaptive Vision Library website

You are here: Start » Function Reference » Camera Calibration » DetectCalibrationGrid_Circles

DetectCalibrationGrid_Circles


Header:AVL.h
Namespace:avl

Detects an arbitrary size symmetric circle pattern on the image.

Syntax

C++
C#
 
void avl::DetectCalibrationGrid_Circles
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	float inCircleRadius,
	float inCircleDetectionThreshold,
	avl::Polarity::Type inCirclePolarity,
	atl::Array<avl::AnnotatedPoint2D>& outImageGrid,
	avl::Region& diagCirclesRegion,
	atl::Array<avl::Point2D>& diagCircleCandidates
)

Parameters

Name Type Range Default Description
inImage const Image& Input image
inRoi Optional<const Region&> NIL Range of pixels to be processed
inCircleRadius float 1.0 - Circle radius measured in input image pixels.
inCircleDetectionThreshold float 0.0 - 20.0f Detection threshold (relative to local image patch).
inCirclePolarity Polarity::Type Any Circle intensity with respect to background.
outImageGrid Array<AnnotatedPoint2D>& Detected grid
diagCirclesRegion Region& Image after thresholding, this is the circle detector input.
diagCircleCandidates Array<Point2D>& Detected circle centers, before the grid construction step.

Hints

Circles may have holes. This can utilized, for example, for designating some specific coordinates on the calibration board. Note that the hole diameter must be less than a half of the circle diameter.

Examples

Input image for DetectCalibrationGrid_Circles executed with inCircleRadius = 5

Detected calibration points

Remarks

The circle pattern must be a rectangular grid, with equal spacing in both dimensions.

Errors

List of possible exceptions:

Error type Description
DomainError Region of interest exceeds an input image.

See Also