以下のコードで映像を取得しようとしています。しかしselect timeoutとなってしまいます。
python
1import cv2 2 3cam = cv2.VideoCapture(0) 4 5while True: 6 try: 7 status, frame = cam.read() 8 cv2.imshow('test', frame) 9 cv2.waitKey(1) 10 11 except KeyboardInterrupt: 12 break 13 14cam.release()
どうやら容量が大きすぎてカメラが追いつかないみたいです。
以下のようにサイズを小さくしてやると取得できます。
python
1cam.set(cv2.CAP_PROP_FRAME_WIDTH, 160) 2cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 120)
元のサイズで取得したいのですが方法はあるでしょうか?
v4l2を使うとできるという記事はありましたがドキュメントが少なく
importの際にエラーが出てしまい以下のエラーが出てしまい使えません。
shell
1Traceback (most recent call last): 2 File "<stdin>", line 1, in <module> 3 File "/usr/local/lib/python3.6/dist-packages/v4l2.py", line 197, in <module> 4 ) = range(1, 9) + [0x80] 5TypeError: unsupported operand type(s) for +: 'range' and 'list'
こちらのサイトにあるv4l2captureに関してはpip installでビルドでこけてしまいます。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。