HoughCircles() 함수의 첫 번째 인자 image에는 원본 그레이스케일 입력 영상을 전달합니다. 직선을 검출하는 HoughLines() 또는 HoughLinesP() 함수에서는 입력 영상으로 에지 영상을 전달하였지만, HoughCircles() 함수의 입력 영상에는 에지 영상이 아닌 원본 그레이스케일 영상을 전달해야 합니다. 그러면 HoughCircles() 함수 내부에서 Sobel() 함수와 Canny() 함수를 이용하여 그래디언트와 에지 영상을 계산한 후, 허프 그래디언트 방법으로 원을 검출합니다.
HoughCircles() 함수의 circles 인자에는 보통 vector<Vec3f> 또는 vector<Vec4f> 자료형의 변수를 지정합니다. vector<Vec3f> 자료형을 사용하면 원의 중심 좌표가 (a, b)와 반지름 r이 차례대로 저장되고, vector<Vec4f> 자료형을 사용할 경우 추가적으로 축적 배열 누적 값이 저장됩니다. dp 인자는 사용할 축적 배열의 크기를 결정하는 용도로 사용됩니다. 만약 dp 인자를 1로 지정하면 입력 영상과 같은 크기의 축적 배열을 사용하고, 2를 지정하면 입력 영상의 가로와 세로 크기를 2로 나눈 크기의 축적 배열을 사용합니다. minDist 인자에는 인접한 원의 최소 거리를 지정합니다. 즉, 두 원의 중심점 사이 거리가 minDist보다 작으면 두 원 중 하나는 검출하지 않습니다.
param1 인자는 HoughCircles() 함수 내부에서 캐니 에지 검출기를 이용할 때 높은 임계값으로 사용됩니다. 캐니 에지 검출기의 낮은 임계값은 param1의 절반으로 설정합니다. param2는 축적 배열에서 원의 중심을 찾을 때 사용하는 임계값입니다. minRadius와 maxRadius 인자에는 검출할 원의 최소 반지름과 최대 반지름을 지정합니다. 만약 영상에서 검출할 원의 대략적인 크기를 알고 있다면 minRadius와 maxRadius를 적절하게 지정함으로써 연산 속도를 향상시킬 수 있습니다.