[python] 파이썬 OpenCV 4 Color-Space를 활용한 Object Tracking 개념
파이썬과 OpenCV4의 Color-Space 변환을 활용하여 Object Tracking의 기초적인 개념을 알 수 있는 샘플 코드입니다. 아래 코드는 카메라로부터 BGR 이미지 프레임을 캡처하여 HSV Color-Space로 변환하고, 파란색 계열의 색상을 포함한 부분만 마스크 처리 및 연산하는 과정을 담고 있습니다.
import cv2 as cv
import numpy as np
# 웹캠 연결
cap = cv.VideoCapture(0)
while(1):
# 웹캠으로부터 BGR 프래임 캡쳐
_, frame = cap.read()
# 컬러스페이스 변경 : BGR -> HSV
hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)
# HSV 컬러 스페이스에서 추출할 영역 설정 (파란색 계열)
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
# 마스크 추출
mask = cv.inRange(hsv, lower_blue, upper_blue)
# 원본 프레임 이미지와 마스크를 Bitwise-AND 연산
res = cv.bitwise_and(frame,frame, mask= mask)
# 화면 출력
cv.imshow('frame',frame)
cv.imshow('mask',mask)
cv.imshow('res',res)
# ESC키 종료 처리
k = cv.waitKey(5) & 0xFF
if k == 27:
break
# 종료 처리
cv.destroyAllWindows()
아래는 실행결과입니다. 원본과 마스크 화면입니다.
댓글
댓글 쓰기