[python] OpenCV를 사용하여 이미지에서 경계 상자 그리기

이미지에서 객체의 위치를 파악하고 싶다면 경계 상자를 그려야 합니다. OpenCV와 Python을 사용하여 이미지에서 경계 상자를 그리는 방법을 살펴보겠습니다.

필요한 패키지 설치

먼저, OpenCV 패키지를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install opencv-python

이미지 로드하기

이미지를 로드하기 위해 cv2.imread 함수를 사용합니다. 아래는 예제 이미지를 로드하는 코드입니다.

import cv2

image = cv2.imread("example.jpg")

경계 상자 그리기

경계 상자를 그리기 위해서는 cv2.rectangle 함수를 사용합니다. 함수의 인자로는 이미지, 상자의 시작점 좌표, 종료점 좌표, 색상, 두께 등을 전달해야 합니다.

아래는 이미지에 경계 상자를 그리는 예제 코드입니다.

import cv2

image = cv2.imread("example.jpg")
start_point = (100, 100)
end_point = (300, 300)
color = (0, 255, 0)  # BGR 형식의 색상
thickness = 2

image_with_box = cv2.rectangle(image, start_point, end_point, color, thickness)

cv2.imshow("Image with Box", image_with_box)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 start_pointend_point는 경계 상자가 그려질 사각형의 시작점과 끝점 좌표입니다. color는 경계 상자의 색상을 나타내며, 튜플 형태로 BGR 형식으로 지정합니다. thickness는 경계 상자의 두께를 나타냅니다.

실행결과

아래는 이미지에 경계 상자를 그린 후의 예시입니다.

Image with Box

결론

OpenCV를 사용하여 이미지에서 경계 상자를 그리는 방법을 알아보았습니다. 이를 활용하여 객체의 위치를 파악하고 다양한 컴퓨터 비전 프로젝트에 응용할 수 있습니다. OpenCV 공식 문서를 참고하여 더 많은 기능을 탐색해보세요.

참고 자료