Tom*_*eck 7 c c++ ubuntu webcam opencv
我试图为我的最后一年项目设置OpenCv并遇到了一些问题.我按照本教程成功地在Ubuntu中设置了它.
我现在遇到的问题是保持这个示例程序运行.该程序使用网络摄像头进行人脸检测.
它运行良好3或4秒,然后捕获卡在窗口中的单个帧.控制台显示以下输出.
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
Run Code Online (Sandbox Code Playgroud)
如果有人知道从哪里开始,我真的很感激一些帮助!
小智 13
试试这个:
modprobe uvcvideo nodrop=1 timeout=6000
Run Code Online (Sandbox Code Playgroud)
如果可行,只需编辑/etc/modprobe.d/modprobe.conf即可永久更改
尝试将超时增加到一个非常大的数字.这应该解决问题,或者至少它对我有用.只是对select的调用没有返回准备好的描述符,这可能是由视频驱动程序或设备引起的.
如果这不起作用,
启用模块跟踪:
sudo echo 0xffff > /sys/module/uvcvideo/parameters/trace
Run Code Online (Sandbox Code Playgroud)
运行程序直到找到错误,并尽快停止.然后禁用跟踪:
sudo echo 0 > /sys/module/uvcvideo/parameters/trace
Run Code Online (Sandbox Code Playgroud)
搜索dmesg错误消息.
| 归档时间: |
|
| 查看次数: |
14703 次 |
| 最近记录: |