我已经写了一个简单的脚本,不断地从我的摄像头捕捉快照我唯一的问题是视频捕捉模块并不总是捕捉图像,这反过来又会导致程序崩溃。我想我可以用一个无限循环来解决这个问题,但我不确定如何去做。剧本如下:

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()

最佳答案

尝试使用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')

关于python - python视频捕获循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5595658/

10-09 18:51