CSI摄像头 vs USB摄像头
0. 前言
树莓派的CSI原装摄像头与普通USB摄像头有何区别?
CSI摄像头有何优缺点?我们在选择时该选哪一种?
最近做某个项目的加速时,产生了这样的疑问,于是开始比较一下这两种摄像头。
1. 准备工作
我是在python3环境下调用opencv对两款摄像头进行测评
所以需要以下准备:
-
Enable Camera
点击左上角树莓派 --> Preference --> Raspberry Configuration,使能Camera,之后重启树莓派。 -
安装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()

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





