2011-04-08 135 views
3

我寫了一個簡單的腳本來連續捕捉來自我的攝像頭的快照。我唯一的問題是視頻捕捉模塊並不總是抓住一個圖像,從而導致程序崩潰。我想我可以通過使用無限循環來解決這個問題,但我不確定如何去解決這個問題。這裏是腳本:python視頻捕捉循環

from VideoCapture import Device 
import datetime 
def capt(): 
    a = datetime.datetime.now().strftime("%Y%m%dT%H%M%S%ms") 

    b = str(a) 
    cam = Device(devnum=0) 
    cam.setResolution(1280, 960) 

    cam.saveSnapshot('%s.png' % (b)) 

for i in range(1, 100000): 
    capt() 

回答

4

嘗試使用cam.getImage而不是cam.saveSnapshotcam.getImage返回PIL圖像,因此您可以確定是否有任何幀實際被抓取。 以下代碼未經測試:

from VideoCapture import Device 
import datetime 
def capt(): 
    a = datetime.datetime.now().strftime("%Y%m%dT%H%M%S%ms") 

    b = str(a) 
    cam = Device(devnum=0) 
    cam.setResolution(1280, 960) 

    return cam.getImage(), b 

while True: 
    im, b = capt() 
    if im: 
    break 
im.save('%s.png' % (b), 'JPEG') 
+0

工作很好。謝謝! – Blomkvist 2011-04-08 13:46:25