Try using cam.getImageinstead cam.saveSnapshot. cam.getImagereturns a PIL image, so you can determine if a frame is actually captured or not. The following code has not been tested:
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')
source
share