3

Webカメラからスナップショットを継続的にキャプチャするための簡単なスクリプトを作成しました。私の唯一の問題は、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

1 に答える 1

4

cam.getImageの代わりに使用してみてください cam.saveSnapshotcam.getImagePILイメージを返すため、フレームが実際に取得されているかどうかを判断できます。次のコードはテストされていません。

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')
于 2011-04-08T13:28:34.143 に答える