[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 공식 문서를 참조하세요.
- OpenCV 공식 문서: https://docs.opencv.org