CvInvokeHoughCircles Method (IInputArray, IOutputArray, HoughType, Double, Double, Double, Double, Int32, Int32) |
http://www.emgu.com
Finds circles in grayscale image using some modification of Hough transform
Namespace:
Emgu.CV
Assembly:
Emgu.CV.World (in Emgu.CV.World.dll) Version: 4.1.1.3497 (4.1.1.3497)
Syntaxpublic static void HoughCircles(
IInputArray image,
IOutputArray circles,
HoughType method,
double dp,
double minDist,
double param1 = 100,
double param2 = 100,
int minRadius = 0,
int maxRadius = 0
)
Public Shared Sub HoughCircles (
image As IInputArray,
circles As IOutputArray,
method As HoughType,
dp As Double,
minDist As Double,
Optional param1 As Double = 100,
Optional param2 As Double = 100,
Optional minRadius As Integer = 0,
Optional maxRadius As Integer = 0
)
public:
static void HoughCircles(
IInputArray^ image,
IOutputArray^ circles,
HoughType method,
double dp,
double minDist,
double param1 = 100,
double param2 = 100,
int minRadius = 0,
int maxRadius = 0
)
static member HoughCircles :
image : IInputArray *
circles : IOutputArray *
method : HoughType *
dp : float *
minDist : float *
?param1 : float *
?param2 : float *
?minRadius : int *
?maxRadius : int
(* Defaults:
let _param1 = defaultArg param1 100
let _param2 = defaultArg param2 100
let _minRadius = defaultArg minRadius 0
let _maxRadius = defaultArg maxRadius 0
*)
-> unit
Parameters
- image
- Type: Emgu.CVIInputArray
The input 8-bit single-channel grayscale image - circles
- Type: Emgu.CVIOutputArray
The storage for the circles detected. It can be a memory storage (in this case a sequence of circles is created in the storage and returned by the function) or single row/single column matrix (CvMat*) of type CV_32FC3, to which the circles' parameters are written. The matrix header is modified by the function so its cols or rows will contain a number of lines detected. If circle_storage is a matrix and the actual number of lines exceeds the matrix size, the maximum possible number of circles is returned. Every circle is encoded as 3 floating-point numbers: center coordinates (x,y) and the radius - method
- Type: Emgu.CV.CvEnumHoughType
Currently, the only implemented method is CV_HOUGH_GRADIENT - dp
- Type: SystemDouble
Resolution of the accumulator used to detect centers of the circles. For example, if it is 1, the accumulator will have the same resolution as the input image, if it is 2 - accumulator will have twice smaller width and height, etc - minDist
- Type: SystemDouble
Minimum distance between centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed - param1 (Optional)
- Type: SystemDouble
The first method-specific parameter. In case of CV_HOUGH_GRADIENT it is the higher threshold of the two passed to Canny edge detector (the lower one will be twice smaller). - param2 (Optional)
- Type: SystemDouble
The second method-specific parameter. In case of CV_HOUGH_GRADIENT it is accumulator threshold at the center detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first - minRadius (Optional)
- Type: SystemInt32
Minimal radius of the circles to search for - maxRadius (Optional)
- Type: SystemInt32
Maximal radius of the circles to search for. By default the maximal radius is set to max(image_width, image_height).
Return Value
Type:
Pointer to the sequence of circles
See Also