10

このコードは、ラズベリーパイのウェブカメラからフレームをキャプチャして、画像として保存しようとしています。私はopencv 2を使用していますが、コードを実行すると奇妙なエラーが発生します..

import time
import sys
from subprocess import call
import cv2

cam = cv2.VideoCapture()

while True:
        cam.open(-1)
        image = cam.read()
        cv2.imwrite("current.jpeg",image)
        time.sleep(10);

これはプログラムが返すものです:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument

Traceback (most recent call last):
  File "kvamskogen.py", line 18, in <module>
    cv2.imwrite("current.jpeg",image)
TypeError: <unknown> is not a numpy array

ここで何が問題なのですか?

4

4 に答える 4

23

a から( cam.read()) を読み取るVideoCaptureと、タプルが返されます(return value, image)。最初のアイテムで、読み取りが成功したかどうかを確認し、成功した場合は、返されimageた .

これはhttps://opencv-tutorial.readthedocs.io/en/latest/intro/intro.html#capture-live-videoで文書化されています

于 2012-12-21T12:50:21.963 に答える