2016-09-22 86 views
2

我有捕獲攝像頭視頻的代碼。捕獲的幀被追加到列表中。但是如何設置此捕獲的時間限制?我只想捕獲記錄必須停止後的前兩分鐘。我的代碼是如何設置實時視頻捕捉的時間限制?

import cv2 
import numpy 

#creating video capture object 
capture=cv2.VideoCapture(0) 

#Set the resolution of capturing to 640W*480H 
capture.set(3,640) 
capture.set(4,480) 
frame_set=[] 
while(True): 
    # Capture frame-by-frame 
    ret, frame = capture.read() 

    # Converting to Gray Scale 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
    frame_set.append(gray) 
    # Display the resulting frame 
    cv2.imshow('frame',gray) 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

# When everything done, release the capture 
capture.release() 
cv2.destroyAllWindows() 

回答

1

使用時間包

import cv2 
import numpy 
import time 
capture=cv2.VideoCapture(0) 
capture.set(3,640) 
capture.set(4,480) 
frame_set=[] 
start_time=time.time() 
while(True): 
    ret, frame = capture.read() 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
    frame_set.append(gray) 
    cv2.imshow('frame',gray) 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 
    end_time=time.time() 
    elapsed = end_time - start_time 
    if elapsed > 120: 
     break 
capture.release() 
cv2.destroyAllWindows() 
+0

非常感謝你 – user6745741