树莓派专用CSI摄像头插到树莓派的CSI口上并在在raspi-config中打开后就可以使用Raspistill命令直接使用,但如果在OpenCV中调用CSI摄像头会出现无数据的现象(cv2.VideoCapture(0)这时不会报错)。
这是因为树莓派中的camera module是放在/boot/目录中以固件形式加载的,不是一个标准的V4L2的摄像头驱动,所以加载起来之后会找不到/dev/video0的设备节点。我们在/etc/modules里面添加一行bcm2835-v4l2(小写的L)就能解决问题。
在指令窗口输入:
sudo nano /etc/modules
添加一行:
bcm2835-v4l2
然后保存并退出,重启树莓派。
测试:
在指令窗口输入:
Python
>>>import cv2
>>>cc=cv2.VideoCapture(0)
>>>rd=cc.read()
>>>rd
回车后,返回一个数值说明设置好了