8

私は最終年度のプロジェクトのためにOpenCvをセットアップしようとしていますが、いくつかの問題が発生しました。このチュートリアルに従って、Ubuntuで正常にセットアップできました。

私が今抱えている問題は、このサンプルプログラムを実行し続けることです。プログラムはウェブカメラを使用した顔検出です。

3〜4秒間正常に実行された後、キャプチャがウィンドウ内の1つのフレームでスタックします。コンソールに次の出力が表示されます。

tom@ubuntu:~/College/opencv/faceDetect_sample$ make
./faceDetect --cascade="haarcascade_frontalface_alt.xml" --nested-cascade="haarcascade_eye_tree_eyeglasses.xml"
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
init done 
opengl support available 
select timeout
select timeout
select timeout
select timeout
select timeout
select timeout
^Cmake: *** [run] Interrupt

誰かがここからどこへ行くべきか考えているなら、私は本当に助けていただければ幸いです!

4

3 に答える 3

14

これを試して:

modprobe uvcvideo nodrop=1 timeout=6000

それが機能する場合は、/etc/modprobe.d/modprobe.conf を編集して、変更を永続的にします。

タイムアウトを途方もなく大きな数に増やしてみてください。これで問題は解決するはずです。または、少なくとも私にとってはうまくいきました。select の呼び出しが準備完了の記述子を返さないだけであり、これはビデオ ドライバーまたはデバイス 1 が原因である可能性があります。

それがうまくいかない場合は、

モジュール トレースを有効にします。

sudo echo 0xffff > /sys/module/uvcvideo/parameters/trace

エラーが見つかるまでプログラムを実行し、できるだけ早く停止します。次に、トレースを無効にします。

sudo echo 0 > /sys/module/uvcvideo/parameters/trace

dmesgでエラー メッセージを検索します。

于 2012-10-03T19:23:00.577 に答える