rk3568板子读取usb摄像头总是报错类似这样的错误:open VIDEOIO(V4L2:/dev/video0): can‘t open camera by index

在rk的板子上读取摄像头的时候总是提示如下错误:

[ WARN:0] global /home/firefly/Downloads/opencv-4.5.4/modules/videoio/src/cap_v4l.cpp (890) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
[ WARN:0] global /home/firefly/Downloads/opencv-4.5.4/modules/videoio/src/cap_v4l.cpp (890) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
 

代码片段如下:


        VideoCapture cap(CAP_V4L2);

        // 2.打开默认相机;
        cap.open(7);

        // 3.判断相机是否打开成功;
        if (!cap.isOpened())
                return -1;

插拔usb摄像头,输入如下命令,可以看到挂载到系统对应的设备号

输入: ls /dev/video* -l    

1. 这个是权限问题,直接通过chmod修改摄像头的权限,如果摄像头挂载到系统的设备名是/dev/video7,输入如下命令后,问题得到解决。

chmod 777 /dev/video7

2.另外一个思路是修改/dev/video7的分组(这个方法我没有测试),步骤如下:

检查是否和video属于同一组
id -a

如果在你的组的列表中你看不到摄像头,输入如下指令

sudo usermod -a -G video

对于Ubuntu users:(20.04)
sudo usermod -a -G video $LOGNAME

注销然后重新登陆,在尝试。

参考:

c++ - undefined reference to `cv::VideoCapture::VideoCapture(int) - Stack Overflow

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值