You are here: Start » AVL.NET » AVL.DetectMultipleCircles Method

AVL.DetectMultipleCircles Method

Finds circles of a given radius in the input image.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

public static void DetectMultipleCircles(
	AvlNet.Image inImage,
	AvlNet.Region inRoi,
	float inRadius,
	float inMaxOverlap,
	float inMinScore,
	float inEdgeThreshold,
	out AvlNet.HoughCircle[] outCircles,
	out AvlNet.Image diagGradientMagnitudeImage,
	out AvlNet.Image diagScoreImage
)

Parameters

Name Type Range Default Description
inImageAvlNet.ImageInput image.
inRoiAvlNet.RegionInput region of interest. Default value: atl::NIL, or null.
inRadiusfloat<0.0f, INF>10.0fCircles' radius. Default value: 10.0f.
inMaxOverlapfloat<0.0f, 1.0f>0.1fMaximum accepted overlapping coefficient. Default value: 0.1f.
inMinScorefloat<0.0f, INF>20.0fMinimum matching score. Default value: 20.0f.
inEdgeThresholdfloat10.0fMinimum accepted edge magnitude. Default value: 10.0f.
outCirclesAvlNet.HoughCircleFound circles.
diagGradientMagnitudeImageAvlNet.ImageVisualized gradients magnitude of an input image.
diagScoreImageAvlNet.ImageCalculated score for each pixel of an input image.

Description

The operation detects circular objects of given radius (in pixels) in the inImage using the Hough Transform approach. The output array is ordered from best matching to worst matching results.

The parameter inMaxOverlap defines how much the detected circles can overlap. The value of 0 means no overlapping is allowed, and also that each circle must be fully contained in the search ROI, whereas the value of 1 allows full overlapping.

Examples

DetectMultipleCircles performed on the sample image.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Hardware acceleration settings may be manipulated with Settings class.

See also