728x90
1. 정의
OpenCV의 Drawing Functions는 이미지나 영상 위에 선(Line), 도형(사각형·원·다각형), 텍스트 등을 그릴 수 있게 해주는 함수 모음입니다. 이 기능은 시각화, 객체 검출 결과 표시, UI 요소 제작, 디버깅 등 다양한 컴퓨터 비전 작업에서 기본이 되며, 이미지 처리의 흐름을 직관적으로 표현할 수 있도록 돕습니다.
2. 설명
OpenCV의 그리기 함수는 대부분 cv2 모듈에서 제공되며 공통적으로 이미지 대상, 좌표, 색상(BGR), 두께, 선 타입 등의 인자를 사용합니다. 대표적인 함수는 다음과 같습니다.
● cv2.line(): 두 점을 잇는 직선을 그립니다. 기준선, ROI 시각화 등에서 활용합니다.
● cv2.rectangle(): 객체 검출 결과(바운딩 박스)를 표시할 때 가장 자주 사용됩니다.
● cv2.circle(): 중심점과 반지름만으로 원을 표시할 수 있어 특징점 시각화에 유용합니다.
● cv2.putText(): 영상 위에 텍스트 라벨을 추가할 때 사용합니다.
● cv2.polylines(): 다각형 형태를 표시하여 경로, 윤곽, 영역을 시각화할 때 유효합니다.
3. 예제(Python)
import cv2
import np as numpy
# 빈 이미지 생성
img = np.zeros((400, 600, 3), dtype=np.uint8)
# 직선 그리기
cv2.line(img, (50, 50), (550, 50), (0, 255, 0), 2)
# 사각형 그리기
cv2.rectangle(img, (50, 100), (250, 300), (255, 0, 0), 3)
# 원 그리기
cv2.circle(img, (400, 200), 60, (0, 0, 255), -1)
# 다각형 그리기
pts = np.array([[300, 350], [350, 300], [400, 350], [350, 380]], np.int32)
pts = pts.reshape((-1, 1, 2))
cv2.polylines(img, [pts], True, (255, 255, 0), 2)
# 텍스트 표시
cv2.putText(img, "OpenCV Drawing", (50, 380),
cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
cv2.imshow("Drawing Functions", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
이 예제는 다양한 도형을 활용해 시각적으로 결과를 표현하는 기본적인 구조입니다. 특히 객체 탐지 결과를 검증하거나 이미지 분석 기반 프로젝트에서 디버깅용 시각화를 수행할 때 매우 유용합니다.
728x90
'영상처리 도구' 카테고리의 다른 글
| OpenCV 형태 분석 Hu Moment 설명과 활용 방법 (0) | 2025.12.18 |
|---|---|
| OpenCV 객체 추적 결과 시각화 필요성과 실전 팁 (0) | 2025.12.16 |
| OpenCV Feature Detection 특징점 추출 방법 (SIFT, SURF, ORB) (0) | 2025.12.06 |
| OpenCV 드로네 삼각분할과 보로노이를 이용한 2D 공간 분석 방법 (0) | 2025.12.05 |
| OpenCV 카메라 보정, 왜곡 제거 방법 (Camera Calibration) (0) | 2025.12.02 |
