VIDIOC_STREAMON:无效参数

时间:2018-10-12 12:06:01

标签: python opencv raspberry-pi3

尝试使用OpenCV的VideoCapture功能时遇到了一些问题。
在VideoCapture.read()之后,出现“ VIDIOC_STREAMON:无效的参数”错误。

我正在使用已安装相机模块的Raspberry Pi 3(这很好,因为我可以运行我的应用程序以检测Aruco标记)
我正在尝试改进上述应用程序,该应用程序当前可捕获图像,检测图像上的标记并使用imshow显示它们。我希望能够在实时视频捕获中检测到标记,就像在此视频上一样:https://www.youtube.com/watch?v=IsXWrcB_Hvs

这是我要运行的代码:

def continuuosDetection(self):
    cap = cv2.VideoCapture(-1)

    if not cap.isOpened():
        print("The camera didn\'t open correctly")
        cap.open(-1)

    print(cap.isOpened())
    ret, frame = cap.read()

    cap.release()
    if not cap.isOpened():
        print("Camera shut properly")

我正在使用Python 3.5,并且如上所述,尽管我正在使用PiCamera.capture()方法拍摄图像,但相机模块在使用其他功能时也可以正常工作。对于VideoCapture(),我同时使用-1和0作为摄像机ID。

print(cap.isOpened())

这每次都返回“ True”。看来相机打开正确了吗?

print(ret)  
print(frame)

这些返回“ False”和“ None”,因此我无法使用cv2.imshow显示捕获。

我用过:

sudo mobprobe bcm2835-v4l2

正如我在一个论坛上发现的那样,但这不能解决我的问题。

我们将不胜感激。
我仍在尝试对这个问题进行分类,因此,如果找到答案,我将在此处提供。尽管到目前为止,我已经在过去几个小时内一直在浏览google,以寻求解决方案,但我仍然在树林里。

此致

0 个答案:

没有答案