In [1]:
# 1. 카메라 연동해서 띄우기
# 2-1. 버튼(1) 누르면 흑백화면으로 바꾸기
# 2-2. 버튼(2) 누르면 좌우반전 시키기
# 2-3. 버튼(3) 누르면 이진화 이미지 만들기
# 2-4. 버튼(4) 누르면 종료하기
In [2]:
import cv2
# 카메라 연동
cap = cv2.VideoCapture(0)
# 1번 버튼을 눌렀음을 감지하기 위한 변수
gray = False
thres = False
flip_rl = False
flip_ud = False
while True:
ret, frame = cap.read()
if not ret:
print('종료')
break
key = cv2.waitKey(30) # 30ms = 초당 33장의 사진, 코드가 실행되는 시간도 있기 때문에
# 버튼(1) 누르면 흑백화면으로 바꾸기
if key == 49:
# 버튼을 눌렀을때만 흑백으로 바꾸기
# frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
# 버튼 누르면 흑백 다시 누르면 흑백 제거
if gray:
gray = False
else :
gray = True
if gray: # 버튼을 한번 눌러서 gray의 값에 True가 대입되면 실행
frame = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
if key == 50:
if thres:
thres = False
else:
thres = True
if thres:
_, frame = cv2.threshold(frame, 128, 255, cv2.THRESH_BINARY)
if key == 51: # 좌우 뒤집기
if flip_rl:
flip_rl = False
else:
flip_rl = True
if flip_rl:
frame = cv2.flip(frame,1)
if key == 52: # 상하 뒤집기
if flip_ud:
flip_ud = False
else:
flip_ud = True
if flip_ud:
frame = cv2.flip(frame,-1)
cv2.imshow('video', frame)
# 5번 버튼
if key == 53: # 4($)을 눌렀을때
print('종료')
break
cap.release()
cv2.destroyAllWindows()
종료
'Study > Python' 카테고리의 다른 글
[Python] OpenCV - 7 이미지 합성하기 (0) | 2023.10.27 |
---|---|
[Python] OpenCV - 6 템플릿 매칭 (0) | 2023.10.26 |
[Python] OpenCV - 4 Flask (0) | 2023.10.24 |
[OpenCV] - 3 동영상 로드 및 저장 (1) | 2023.10.23 |
[Python]OpenCV - 2 이진화 (1) | 2023.10.20 |