現在卒業制作でraspberrypiでusbカメラを使おうとしています。
その際に以下のようなエラーが出ていてpythonで使うことができないと思います。
dmesg
1[ 7.037529] videodev: Linux video capture interface: v2.00 2[ 7.358210] uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0103) 3[ 7.370054] uvcvideo: Failed to query (GET_INFO) UVC control 1 on unit 3: -32 (exp. 1). 4[ 7.372350] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. 5[ 7.373240] uvcvideo 1-1.1.2:1.0: Entity type for entity Extension 4 was not initialized! 6[ 7.373256] uvcvideo 1-1.1.2:1.0: Entity type for entity Processing 3 was not initialized! 7[ 7.373268] uvcvideo 1-1.1.2:1.0: Entity type for entity Camera 1 was not initialized! 8[ 7.373940] usbcore: registered new interface driver uvcvideo 9[ 7.769736] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 10[ 7.782194] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 11[ 7.788924] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
uvc query faildのエラーというのは設定で変えられるものなのでしょうか
または機器との相性問題でwebカメラを変えないとできないのでしょうか
仕様等は以下になります。
webカメラ:BSW13K08HBK buffalo
pc:raspberry pi 3B+
os:raspbian buster
プログラム:python3.7 OpenCV3.2.0
目的:openCVのimwriteで画像取得
python3
1#環境指定かつ文字コード指定 2#!/usr/bin/python3 3# -*- encoding:utf-8 -*- 4 5import opencv as cv 6import datetime as date 7 8#cv.VideoCapture カメラデバイスの取得 カメラデバイスのID dmesg | grep video で確認 9#cv.read カメラに移るものを取得 10#cv.imwrite ファイル生成 11#camera.release 開いたカメラを閉じる 12def photoshot(): 13 14 filename='path'+date.datetime.now().strftime("%Y-%M-%D")+'.jpg' 15 camera=cv.VideoCapture(0) 16 img=camera.read() 17 cv.imwrite(filename,img) 18 camera.release() 19 return filename 20 #pathの部分は何となく隠しているだけでただの保存場所です。
上記のコードのほかにVideoCaptureの引数を-1,10,11,12,2,3,4,'/dev/Video0'等に変えて実行しましたが、isOpened()を除くとfalseになっていてimwriteからのエラーでimgにタプルが入ってないよと言われます。その後 dmesg | grep video で確認したのが上のUVCエラー等になります。
回答よろしくお願いします。
REIAさん、
使用環境(Webカメラのメーカー・型番/ラズパイの型番・使用OS) や、具体的な目的などを書いた方がいいと思います。
ちなみに、うちでは、RPi3B,3B+ / Raspbian Stretch で Webcam:Buffalo BSW32K01H をつなぐだけで、OpenCV 3 + pythonで使えてました(昨年あたり)。
同じ状況で実験できるわけではないのですが、
> pythonで使うことができないと思います。
この「思います」というのは...まだ試していないということですか?
そのメッセージを読む限り、workaround(回避策)を適用します、となっているわけで、それでなんとかなった可能性もなくはないです(その後の not initializedは気になりますが)。
なにか簡単なサンプルで試してみた結果を以て議論してはいかがでしょう。
回答2件
あなたの回答
tips
プレビュー