前提・実現したいこと
pythonでopencvを使って、USBカメラの映像を取得しています。
発生している問題・エラーメッセージ
基本的にはソフトを起動すると正常に動作するのですが、一度ソフトを停止してから再起動すると、取得が失敗してしまうことがあります。
(ソフトを起動すると、カメラの側面が点灯するので、何かしらの信号は届いていると思っています。)
該当のソースコード
import cv2
capture = cv2.VideoCapture(1)
while(True):
ret, frame = capture.read()
ret がエラーとなってしまいます。
試したこと
・PCの再起動
・PCに接続しているすべてのケーブルの抜き差し
補足情報(FW/ツールのバージョンなど)
> 取得が失敗してしまうことがあります。
そうなったら、ずっと失敗し続けるのでしょうか?
再度(何回か)トライしたら取得できるのなら、
https://teratail.com/questions/250852
のMasahikoHirataさんの回答のように、「ret」がFalseの場合は「capture.read()」を繰り返し、Trueの場合だけ次に進むようにしたら、いかがでしょうか?
if文以降でTrueの時だけ、進むようにしております。
>そうなったら、ずっと失敗し続けるのでしょうか?
はい。失敗し続けます。なお、PCの再起動でも必ずしも改善するとは限りません。
よろしくお願いいたします。
> PCの再起動でも必ずしも改善するとは限りません。
ということは、
> 基本的にはソフトを起動すると正常に動作する
も、100%確実ではない、ということですか?
その日に最初にパソコンの電源を入れて、最初にソフトを起動した時でも、ダメな場合もある、的な
100%ではありません。
>その日に最初にパソコンの電源を入れて、最初にソフトを起動した時でも、ダメな場合もある、的な
その通りです。
カメラが壊れているのかもしれませんが、大きな衝撃を与えた記憶はありませんし、
購入してから日も浅いです。
カメラとパソコンの相性も疑った方がいいと思います
・そのカメラを他のパソコンに繋げてみる
・そのパソコンに他のカメラを繋げてみる
とどうなるか、とか
別パソコンに接続してみました。
あまり何回も試せてはいないのですが、今のところ問題なさそうです。
相性なのでしょうか。様子を見てみます。
ありがとうございました!
回答1件
あなたの回答
tips
プレビュー