1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import cv2
import time
cap = cv2.VideoCapture(0) #윈도우 카메라 실행
frame_size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)))
oldTime = time.time() #시작 시간 측정
while True:
retval, frame = cap.read() #retval: 비디오영상을 캡쳐했는지(T/F), frame: 비디오영상 프레임 저장
if not retval:
break; #False면 while문 탈출.
newTime = time.time() #종료 시간 측정
if 0 < newTime-oldTime < 5: # 처음 5초간 boxFilter 실행
box = cv2.boxFilter(frame, ddepth=-1, ksize=(11, 11))
frame = box
elif 5 < newTime-oldTime < 10: # 5초 뒤 bilateralFilter로 전환
bil = cv2.bilateralFilter(frame, d=11, sigmaColor=10, sigmaSpace=10)
frame = bil
else:
oldTime = newTime #종료 시간을 시작시간으로 바꾸기 (10초 이상 차이나면 다시 0초부터 계산할 수 있게 리셋)
print(newTime-oldTime) #시간 차 print
cv2.imshow('frame', frame) #필터가 적용된 화면 출력
key = cv2.waitKey(25) #키값을 입력받기위해 0.025초 대기
if key == 27: #Esc키를 입력하면 종료
break;
if cap.isOpened():
cap.release() #비디오객체 해제
cv2.destroyAllWindows() #모든 윈도우창 삭제
|
'PRACTICE > Basic' 카테고리의 다른 글
[Python] 삼각형 넓이 구하기 (0) | 2020.11.23 |
---|---|
[Python, OpenCV] 두 개의 이미지 파일 합성하기 (0) | 2020.11.11 |
[C] 함수를 통해 로또 번호 생성, 출력하기 (난수 사용) (0) | 2020.11.10 |
[C] 시험 별 성적 최소값, 최대값 구하기 (0) | 2020.11.10 |
[C] 성적 구하는 프로그램 (난수, 다차원 배열 사용) (0) | 2020.11.10 |
댓글