OpenCV项目运行提示错误:can‘t open camera by index
1、运行一个.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
2、原因
报错的意思是摄像头打不开啊或者说是找不到设备
我在博客上找了很多教程,发现都只是改项目文件里某某行代码,但是如果只把.py项目文件中的cv.VideoCapture(args.input if args.input else 0)改为cv.VideoCapture(0)或者-1、1等,只能解决部分人遇到的问题。
3、 解决办法一:
我们先打开device目录,看有没有我们摄像头设备
(ai-learn368) dsk@DSK$ ls /dev/
查询结果如下:
我们发现以v字符开头的设备中并没有与摄像头有关的信息(应该有videoX设备)。
解决办法:
我又在度娘上搜了一下相关的问题,找到了有效的解决办法
主要原因是没有启动 虚拟机->可移动设备->关于摄像头设备的选项
我用的是虚拟机是Vmware Workstation 16 Player,相关操作如下

第4步之后,点击[确定]
其版本的虚拟机也都一样,只是按键位置不一样而已,耐心找一下。
这个时候我们在查看以下

这个时候和第一次ls /dev/ 目录就会明显的发现多了video0和video1的设备项
这个时候我们就可以通过修改上面提到的.py文件的cv.VideoCapture(0)括号里的值来启动摄像头设备了,值赋值为0或1。
这个时候我们调用指令运行一下⬇(允许我打个马赛克🤣)

成功运行!!!!!
4、注意事项
如果已经可见video0和vedio1设备但还是调不了摄像头的解决办法
-
打开虚拟机设置

-
在USB兼容性选项里进行版本的切换,2不行就3,3不行就2…

然后再运行一下你的项目程序
希望这篇博客对你有用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)