.py
项目文件运行后系统提示如下
[ WARN:0] global /tmp/pip-req-build-6amqbhlx/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
报错的意思是摄像头打不开啊或者说是找不到设备
我在博客上找了很多教程,发现都只是改项目文件里某某行代码,但是如果只把.py
项目文件中的cv.VideoCapture(args.input if args.input else 0)
改为cv.VideoCapture(0)
或者-1、1等,只能解决部分人遇到的问题。
我们先打开device目录,看有没有我们摄像头设备
(ai-learn368) dsk@DSK$ ls /dev/
查询结果如下:
我们发现以v
字符开头的设备中并没有与摄像头有关的信息(应该有videoX
设备)。
解决办法:
我又在度娘上搜了一下相关的问题,找到了有效的解决办法
主要原因是没有启动 虚拟机->可移动设备->关于摄像头设备的选项
我用的是虚拟机是Vmware Workstation 16 Player,相关操作如下
第4步之后,点击[确定]
其版本的虚拟机也都一样,只是按键位置不一样而已,耐心找一下。
这个时候我们在查看以下
这个时候和第一次ls /dev/ 目录就会明显的发现多了video0和video1的设备项
这个时候我们就可以通过修改上面提到的.py
文件的cv.VideoCapture(0)
括号里的值来启动摄像头设备了,值赋值为0或1。
这个时候我们调用指令运行一下⬇(允许我打个马赛克)
如果已经可见video0和vedio1设备但还是调不了摄像头的解决办法
希望这篇博客对你有用。