더북(TheBook)

9.2.2 허프 변환 원 검출

앞 절에서는 직선의 방정식을 파라미터 공간으로 변환하는 허프 변환을 이용하여 영상에서 직선을 검출하였습니다. 이번에는 허프 변환을 이용하여 원을 검출하는 방법에 대해 알아보겠습니다. 중심 좌표가 (a, b)이고 반지름이 r인 원의 방정식은 다음과 같이 표현합니다.

이러한 원의 방정식은 세 개의 파라미터를 가지고 있으므로, 허프 변환을 그대로 적용하려면 3차원 파라미터 공간에서 축적 배열을 정의하고 가장 누적이 많은 위치를 찾아야 합니다. 그러나 3차원 파라미터 공간에서 축적 배열을 정의하고 사용하려면 너무 많은 메모리와 연산 시간을 필요로 하게 됩니다. 그러므로 OpenCV에서는 일반적인 허프 변환 대신 허프 그래디언트 방법(Hough gradient method)을 사용하여 원을 검출합니다.

허프 그래디언트 방법은 두 가지 단계로 구성됩니다. 첫 번째 단계에서는 영상에 존재하는 모든 원의 중심 좌표를 찾고, 두 번째 단계에서는 검출된 원의 중심으로부터 원에 적합한 반지름을 구합니다. 원의 중심 좌표를 찾는 과정에서 축적 배열이 사용됩니다. 다만 허프 그래디언트 방법에서 사용하는 축적 배열은 파라미터 공간에서 만드는 것이 아니라 입력 영상과 동일한 xy 좌표 공간에서 2차원 배열로 만듭니다. 원의 중심을 찾기 위해 허프 그래디언트 방법은 입력 영상의 모든 에지 픽셀에서 그래디언트를 구하고, 그래디언트 방향을 따르는 직선상의 축적 배열 값을 1씩 증가시킵니다.

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