2011-04-08 8 views
3

나는 내 웹캠에서 스냅 샷을 연속으로 캡처하는 간단한 스크립트를 작성했습니다. 내 유일한 문제는 videocapture 모듈이 항상 프로그램을 충돌시키는 이미지를 가져 오는 것은 아니라는 것입니다. 무한 루프를 사용하여이 문제를 해결할 수 있다고 생각하지만 실제로 갈 방법이 확실하지 않습니다. 다음 스크립트는 다음과 같습니다파이썬 비디오 캡처 루프

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.saveSnapshot 사용할 수 있습니다. cam.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

Worked great. 감사! – Blomkvist