18

ビーグルボーンで Logitech c310 ウェブカメラにアクセスしようとしています。デバイス ID に対して常に false を返しますが、その理由はわかりません。

次のコードを使用します。

>>> import cv2, numpy as np
>>> cam = cv2.VideoCapture(0)
>>> cam.open(0)
False

以下のように、カメラは dev/ および で video0 として表示されroot@arm:~#lsusbます。

root@arm:~# lsusb
Bus 001 Device 002: ID 046d:081b Logitech, Inc. Webcam C310
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

でカメラにアクセスすることもできましたv4l2-ctl。私は OpenCV に非常に慣れていないので、これはばかげているように聞こえるかもしれませんが、事前にお詫び申し上げます。

4

8 に答える 8

15
HIGHGUI ERROR: V4L: index 1 is not correct!
False
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array  type) in cvGetMat, file /home/kaushik/Desktop/OpenCV-2.4.1/modules/core/src/array.cpp, line 2482
Traceback (most recent call last):
File "x2.py", line 8, in <module>
cv2.imshow('frame', frame)
cv2.error: /home/kaushik/Desktop/OpenCV-2.4.1/modules/core/src/array.cpp:2482: error: (-206) Unrecognized or unsupported array type in function cvGetMat

この種のエラーが発生する場合は、おそらくインデックス作成に問題があります。

cv2.VideoCapture(0) の代わりに追加:

cv2.VideoCapture(-1)

これにより、最初に機能するカメラが取得されます。何か問題が発生した場合は、ここにスタック トレースを投稿してください。

于 2014-02-17T11:47:12.827 に答える
-3

パッケージが不足しているという問題です。OpenCVをインストールした後、たくさんのパッケージをインストールしました。もう一度cmakeを実行したところ、うまくいきました。

于 2014-05-19T20:22:18.007 に答える