【树莓派】在OpenCV中调用CSI摄像头

今天在用树莓派调用摄像头的时候,一直出错。用的代码是这一段【树莓派】在OpenCV中调用CSI摄像头

一、编译出错(用的是code blocks)

undefined reference to symbol __gxx_personality_v0

解决方法是:compiler配置Tollchain executables  【树莓派】在OpenCV中调用CSI摄像头

二、调用csi摄像头出错(也就是上面代码的16行出错)

【树莓派】在OpenCV中调用CSI摄像头

用了这个大神的解决方法 https://blog.****.net/Deiki/article/details/71123947

大概原因就是:

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

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

成功解决。