[python] OpenCV를 사용하여 이미지에서 동영상에서 윤곽선 찾기

이미지에서 객체의 윤곽선을 찾는 것은 컴퓨터 비전 분야에서 중요한 작업입니다. OpenCV는 이러한 작업을 수행하는 데 사용되는 강력한 라이브러리입니다.

이번 튜토리얼에서는 Python과 OpenCV를 사용하여 동영상에서 윤곽선을 찾는 방법을 알아보겠습니다.

설치

먼저, Python 환경에서 OpenCV를 설치해야 합니다. 아래의 명령을 사용하여 opencv-python 패키지를 설치할 수 있습니다.

pip install opencv-python

코드

아래의 코드는 주어진 동영상에서 윤곽선을 찾는 간단한 예제입니다.

import cv2

# 동영상 파일 열기
video = cv2.VideoCapture('video.mp4')

while True:
    # 프레임 읽기
    ret, frame = video.read()

    # 비디오의 마지막 프레임까지 읽은 경우 루프 종료
    if not ret:
        break

    # 프레임을 그레이스케일로 변환
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 윤곽선 찾기
    contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    # 윤곽선 그리기
    cv2.drawContours(frame, contours, -1, (0, 255, 0), 3)

    # 결과 보여주기
    cv2.imshow('Contours', frame)

    # 'q' 키를 누르면 루프 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 사용한 리소스 해제
video.release()
cv2.destroyAllWindows()

위의 코드는 주어진 동영상 파일을 열고, 각 프레임을 읽어서 그레이스케일로 변환한 다음, 윤곽선을 찾습니다. 그리고 윤곽선을 원본 프레임에 그린 후, 결과를 화면에 보여줍니다.

실행

위의 코드를 find_contours.py라는 파일로 저장한 다음, 아래의 명령을 실행하여 코드를 실행할 수 있습니다.

python find_contours.py

결론

이번 예제를 통해 OpenCV를 사용하여 이미지에서 동영상에서 윤곽선을 찾는 방법에 대해 알아보았습니다. OpenCV의 다양한 기능을 활용하면 영상처리 작업을 보다 쉽고 효율적으로 수행할 수 있습니다.

더 많은 정보와 예제는 OpenCV 공식 문서를 참조하세요.