树莓派(5):CSI摄像头 vs USB摄像头

本文对比了树莓派的CSI摄像头与USB摄像头的成像质量、系统资源占用及使用体验。CSI摄像头在光线充足时表现优秀,但USB摄像头在低光环境下的表现更佳。USB摄像头的CPU占用率较高,而CSI摄像头利用树莓派的GPU,对CPU的影响较小。

0. 前言

树莓派的CSI原装摄像头普通USB摄像头有何区别?
CSI摄像头有何优缺点?我们在选择时该选哪一种

最近做某个项目的加速时,产生了这样的疑问,于是开始比较一下这两种摄像头。

1. 准备工作

我是在python3环境下调用opencv对两款摄像头进行测评
所以需要以下准备:

  1. Enable Camera
    点击左上角树莓派 --> Preference --> Raspberry Configuration,使能Camera,之后重启树莓派。

  2. 安装opencv
    具体过程见树莓派(4):树莓派python3安装opencv

2. CSI摄像头

2.1 安装摄像头

在这里插入图片描述
安装CSI摄像头的时候,不可带电操作,否则容易烧坏摄像头,安装排线的时候,留意摄像头和树莓派上的卡扣,打开卡扣后再插入排线,排线插好后再把卡扣扣好,并注意排线的方向

2.2 安装驱动

Deiki文章中写道,

树莓派专用CSI摄像头插到树莓派的CSI口上并在在raspi-config中打开后就可以使用Raspistill命令直接使用,但如果在OpenCV中调用CSI摄像头会出现无数据的现象(cv2.VideoCapture(0)这时不会报错)。

这是因为树莓派中的camera module是放在/boot/目录中以固件形式加载的,不是一个标准的V4L2的摄像头驱动,所以加载起来之后会找不到/dev/video0的设备节点。我们在/etc/modules里面添加一行bcm2835-v4l2(小写的L)就能解决问题。

我是没有遇到这个问题的,即,不进行这一步操作我的opencv也能直接调用CSI摄像头,可能是Buster版本解决了这个问题。

不过保险起见,我还是进行了这一步操作。

2.3 测试

写一个简单的读取摄像头图像的程序

import cv2

videoIn = cv2.VideoCaptire(0)
print("capture device is open: " + str(videoIn.isOpened()))
success,frame = videoIn.read()
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值