debian10在RK3399PRO中从摄像头启动到人脸识别记录

适用于rk3399pro中使用
第一安装好cheese软件用于检测摄像头是否能正常工作

sudo apt-get cheese

随后在debian的软件包里即可打开这个软件,可以看到对应的拍照录像等功能
第二安装 v4l2-ctrl工具

sudo apt install v4l-utils

使用这个工具查看摄像头的参数

 v4l2-ctl --list-devices

toybrick@debian10:~$ v4l2-ctl --list-devices
rkisp10_selfpath (platform:rkisp10-000):
/dev/video0
/dev/video1
/dev/video2
/dev/video3

rkisp10_selfpath (platform:rkisp10-001):
/dev/video4
/dev/video5
/dev/video6
/dev/video7

UVC Camera (046d:0825) (usb-xhci-hcd.10.auto-1.3.2):
/dev/video8
/dev/video9

查看设备节点情况

 ls -l /dev/video* -l

toybrick@debian10:~$ ls -l /dev/video* -l
crw-rw----+ 1 root video 81, 0 Nov 20 14:00 /dev/video0
crw-rw----+ 1 root video 81, 1 Nov 20 14:00 /dev/video1
crw-rw----+ 1 root video 81, 2 Nov 20 14:00 /dev/video2
crw-rw----+ 1 root video 81, 3 Nov 20 14:00 /dev/video3
crw-rw----+ 1 root video 81, 4 Nov 20 14:00 /dev/video4
crw-rw----+ 1 root video 81, 5 Nov 20 14:00 /dev/video5
crw-rw----+ 1 root video 81, 6 Nov 20 14:00 /dev/video6
crw-rw----+ 1 root video 81, 7 Nov 20 14:00 /dev/video7
crw-rw----+ 1 root video 81, 8 Nov 20 14:00 /dev/video8
crw-rw----+ 1 root video 81, 9 Nov 20 14:00 /dev/video9

2.解决过程
2.1 查看 /dev/video10 和 /dev/video11详细信息
udevadm info --attribute-walk --name=/dev/video8
udevadm info --attribute-walk --name=/dev/video9
在这里插入图片描述
在这里插入图片描述
2.2 使用udev规则创建usb摄像头挂载点映射
在 /etc/udev/rules.d/*.rules (任意rules下),添加如下规则

SUBSYSTEM==“video*”,ATTRS{idVendor}“05a3”,ATTRS{idProduct}“9750”,MODE=“0666”,SYMLINK+=“video1”

SUBSYSTEM==“video*”,ATTRS{idVendor}“05e3”,ATTRS{idProduct}“0610”,MODE=“0666”,SYMLINK+=“video0”

`如果只配置ATTRS{idVendor},ATTRS{idProduct}这两个id参数,会随机指定一个 /dev/video10 和 /dev/video11映射到指定的 /dev/video1 ,由于RK3399PRO的bug的存在(插入一个usb摄像头会产生两个video标号),不能满足使用要求。
在这里插入图片描述
通过观察2.1的详细信息,发现 /dev/video10 和 /dev/video11的ATTR{index}不同(分别为0、1),又指定ATTR{index}实现分别对应映射

SUBSYSTEM==“video*”,ATTRS{idVendor}“05e3”,ATTRS{idProduct}“0610”,ATTR{index}“0”,MODE=“0666”,SYMLINK+=“video0”
SUBSYSTEM
"video*",ATTRS{idVendor}“046b”,ATTRS{idProduct}“0610”,ATTR{index}==“1”,MODE=“0666”,SYMLINK+=“video1”

结果如下:

/etc/udev/rules.d/*.rules里内容如下:

总结:Linux下opencv无法打开摄像头,/dev/video 设备节点被占用,无法删除,转变思路,使用udev规则创建usb摄像头挂载点映射,固定设备节点名称,这样我们就可以继续愉快的开发了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值