더북(TheBook)

허프 그래디언트 방법을 이용하여 원의 중심을 검출하는 과정을 그림 9-16에 나타냈습니다. 그림 9-16처럼 원주상의 모든 점에 대해 그래디언트 방향의 직선을 그리고, 직선상의 축적 배열 값을 증가시키면 결과적으로 원의 중심 위치에서 축적 배열 값이 크게 나타나게 됩니다. 일단 원의 중심을 찾은 후에는 다양한 반지름의 원에 대해 원주상에 충분히 많은 에지 픽셀이 존재하는지 확인하여 적절한 반지름을 선택합니다.

▲ 그림 9-16 허프 그래디언트 방법을 이용한 원 중심 검출

 

OpenCV에서는 HoughCircles() 함수를 사용하여 원을 검출할 수 있습니다. HoughCircles() 함수 원형은 다음과 같습니다.

void HoughCircles(InputArray image, OutputArray circles,
                  int method, double dp, double minDist,
                  double param1 = 100, double param2 = 100,
                  int minRadius = 0, int maxRadius = 0);

image

입력 영상. 에지 영상이 아닌 원본 그레이스케일 영상을 지정합니다.

circles

검출된 원 정보를 저장할 출력 벡터

method

HOUGH_GRADIENT만 지정 가능합니다.

dp

입력 영상과 축적 배열의 크기 비율

minDist

인접한 원 중심의 최소 거리

param1

Canny 에지 검출기의 높은 임계값

param2

축적 배열에서 원 검출을 위한 임계값

minRadius

검출할 원의 최소 반지름

maxRadius

검출할 원의 최대 반지름

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.