编程语言
首页 > 编程语言> > python视频捕获循环

python视频捕获循环

作者:互联网

我编写了一个简单的脚本,可以从网络摄像头连续捕获快照.我唯一的问题是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()

解决方法:

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

标签:image-capture,python
来源: https://codeday.me/bug/20191102/1993759.html