반응형
전체 화면을 하니 너무 많은 부분에서 살색 부분들이 잡혀서 그런 부분들을 좀 줄이고자 손을 놓을 부분을 정해 그 부분만 잘라서 검사하고자 추가하였습니다.
원하는 부분을 잘라내기 위해서 openCV selectROI를 사용하였습니다.
import cv2
def on_mouse(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
points.append([x, y])
points = list()
try:
cap=cv2.VideoCapture(0)
except:
print('camera_errro1')
ret, img = cap.read()
rect = cv2.selectROI('Select Window', img, fromCenter = False, showCrosshair = True)
cv2.destroyWindow('Select Window')
while True:
ret, frame = cap.read()
if not ret:
print('camera_error2')
break
dst = frame.copy()
x, y, w, h = rect
cv2.rectangle(img=frame, pt1=(x, y), pt2=(x + w, y + h), color=(0, 0, 255), thickness=2)
dst = dst[y:y+h, x:x+w]
cv2.imshow("frame", frame)
cv2.imshow("dst", dst)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
금방 끝날 줄 알았는데 생각보다 시간을 많이 잡아먹었네요ㅠ 다음에는 기존 코드에다가 더해서 응용할 생각입니다.
해당 영상 : https://youtu.be/PGVzYUYNWHk
반응형
'Project' 카테고리의 다른 글
수화 인식 프로젝트 - [7일차] 5일차 + convex Defects (openCV) (2) | 2020.03.09 |
---|---|
수화 인식 프로젝트 - [6일차] 다시 정리하기 (openCV) (0) | 2020.03.06 |
Python 유전 알고리즘으로 비번 풀기 (0) | 2020.02.20 |
GameProgramming Project - 유니티 Shader를 이용한 비와 물결 구현 (1) | 2020.02.20 |
파이썬으로 영화 예매 오픈 알리미 만들기-2 [완료] (3) | 2020.02.11 |
댓글