Back to Aurora Vision Library website

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

DetectCalibrationGrid_Circles


Header: AVL.h
Namespace: avl
Module: Calibration

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

Requirements

For input inImage only pixel formats are supported: uint8.

Read more about pixel formats in Image documentation.

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 Not supported inImage pixel format.
DomainError Region of interest exceeds an input image.
DomainError Not supported inImage pixel format in DetectCalibrationGrid_Circles. Supported formats: UInt8.

See Also