安装环境 : ubuntu 16.04
树莓派利用基于C++的opencv的CaptureVideo
函数调用外部摄像头,比如usb摄像头等是没有问题的,但是无法调用自带的摄像头,因此需哟通过调用其他的函数或者改变自带CSI摄像头的属性设置才可以获取实时图像等。
python
picamera
就可以直接调用自带的摄像头,并且支持实时显示、抓拍等- 参考链接:http://www.aichengxu.com/view/8524301
- 上面的链接详细介绍了摄像头的使能与调用等
- 基于这个库,获得实时图像,即可利用opencv进行后续的处理等
C++
- 这个比较麻烦,自带的
CaptureVideo
无法读取自带摄像头,有以下解决方案可以参考
- 补充:根据评论区的大神的回复,成功地利用C++读取了自带的摄像头的数据!!
- 他的解决办法如下:打开
/etc/
下面的modules-load.d/rpi-camera.conf
。在最后添加一行bcm2835-v4l2
意思是在系统启动之后加载bcm2835-v4l2
这个模块。然后重启,会发现/dev/下面发现video0设备节点,opencv就能正常调用了
- 他的解决办法如下:打开
这两个最后我都没有配置成功,其中uv4l-raspicam的库安装失败,目测和我的树莓派上的系统有关(它要求是wheezy或者另外一个,我的是ubuntu,估计版本不支持),所以用了python进行后续的开发了。。。
- 使用usb摄像头时,opencv可以直接识别,无需安装驱动等。
注意
- 在安装的过程中,尽量不要更新固件,否则会有很多麻烦。。各种蜜汁bug