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设备但还是调不了摄像头的解决办法

  1. 打开虚拟机设置
    在这里插入图片描述

  2. 在USB兼容性选项里进行版本的切换,2不行就3,3不行就2…在这里插入图片描述
    然后再运行一下你的项目程序


希望这篇博客对你有用。

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值