[python] OpenCV를 사용하여 이미지에서 동영상에서 특정 객체 추적하기
이미지 처리 및 컴퓨터 비전 작업에 가장 많이 사용되는 라이브러리 중 하나인 OpenCV는 다양한 기능을 제공하여 객체 추적, 얼굴 인식, 모션 검출 등 다양한 작업을 수행할 수 있습니다. 이번에는 OpenCV를 사용하여 동영상에서 특정 객체를 추적하는 방법을 알아보겠습니다.
1. OpenCV 설치
우선 OpenCV를 설치해야 합니다. 다음은 pip를 사용하여 OpenCV를 설치하는 명령어입니다:
pip install opencv-python
2. 동영상에서 특정 객체 추적하기
다음은 동영상에서 특정 객체를 추적하는 간단한 예제 코드입니다. 이 예제는 웹캠에서 영상을 읽어와서 원하는 객체를 추적하는 방법을 보여줍니다:
import cv2
# 웹캠에서 영상 읽기
cap = cv2.VideoCapture(0)
# 추적할 객체의 색상 범위 설정
lower_color = (0, 0, 0)
upper_color = (255, 255, 255)
while True:
# 현재 프레임 읽기
ret, frame = cap.read()
# 프레임이 제대로 읽힌 경우
if ret:
# 영상 전처리 - 색상 공간 변환
hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# 객체 추적을 위한 색상 범위 적용
mask = cv2.inRange(hsv_frame, lower_color, upper_color)
# 객체 추적 결과 표시
result = cv2.bitwise_and(frame, frame, mask=mask)
# 화면에 결과 표시
cv2.imshow("Object Tracking", result)
# 'q' 키를 누르면 종료
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 작업 완료 후 리소스 해제
cap.release()
cv2.destroyAllWindows()
위 코드에서 lower_color
와 upper_color
변수에는 추적하고자 하는 객체의 색상 범위를 설정해야 합니다. 색상 범위는 HSV 색상 공간에서 지정됩니다. 여기서는 검정색부터 흰색까지의 범위로 설정했습니다.
3. 결과 확인하기
위 코드를 실행하면 웹캠 영상이 출력되며, 추적한 객체만이 색상으로 나타납니다. ‘q’ 키를 누르면 프로그램이 종료됩니다.
이제 OpenCV를 사용하여 동영상에서 특정 객체를 추적하는 방법에 대해 알게 되었습니다. 이를 응용하여 복잡한 객체 추적 및 다양한 영상 처리 작업을 수행할 수 있습니다.
참고 자료
- OpenCV 공식 문서: https://docs.opencv.org/
- OpenCV-Python 튜토리얼: https://docs.opencv.org/master/d6/d00/tutorial_py_root.html