이 글에서는 OpenCV의 cv2.circle() 함수를 사용하여 이미지 위에 원을 그리는 방법을 알아봅니다. 이 함수는 이미지 처리에서 특정 영역을 강조하거나 시각화할 때 매우 유용하게 활용됩니다.
원본 이미지

알고리즘
1단계: OpenCV를 임포트합니다.
2단계: 원의 반지름(radius)을 정의합니다.
3단계: 원의 중심 좌표(center)를 정의합니다.
4단계: 원의 색상(color)을 정의합니다. 색상은 BGR 순서의 튜플로 지정합니다.
5단계: 선 두께(thickness)를 정의합니다.
6단계: 위에서 정의한 인자들과 이미지를 함께 cv2.circle() 함수에 전달합니다.
7단계: 결과 이미지를 화면에 표시합니다.
주요 매개변수 설명
- image: 원을 그릴 대상 이미지입니다.
- center: 원의 중심 좌표를 (x, y) 형태의 튜플로 지정합니다.
- radius: 원의 반지름을 픽셀 단위로 지정합니다.
- color: BGR 형식의 튜플로 색상을 지정합니다. 예를 들어 (255, 255, 0)은 청록색(cyan)을 의미합니다.
- thickness: 원의 윤곽선 두께입니다. 음수(-1)를 지정하면 원 내부가 채워집니다.
예제 코드
import cv2
# 이미지 불러오기
image = cv2.imread('testimage.jpg')
# 원의 속성 정의
radius = 100
center = (350, 175)
color = (255, 255, 0)
thickness = 15
# 원 그리기
image = cv2.circle(image, center, radius, color, thickness)
# 결과 출력
cv2.imshow('Circle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과

위 코드를 실행하면 지정한 중심 좌표와 반지름을 가진 청록색 원이 이미지 위에 그려진 것을 확인할 수 있습니다. 참고로 cv2.imshow()만 호출하면 창이 즉시 닫힐 수 있으므로, cv2.waitKey(0)와 cv2.destroyAllWindows()를 함께 사용하는 것이 좋습니다.