0x00 前言
在树莓派的linux系统中,所有外接设备都可以在/dev/目录下找到,可以通过文件是否存在来判断树莓派有没有正确加载一个外接设备。加载USB接入和CSI接入的摄像头略有区别。
1x01 CSI摄像头连接
CSI摄像头的连接线是一条柔软,扁而宽的传输线。它应该被连接到树莓派主板上标有“Camera”的插槽中。
其插槽一侧的挡板可以被轻轻掰开(通常是白色的那一侧),把CSI线插进去后,请务必确认你成功扣合了插槽。
1x02 CSI摄像头的安装
在新版的树莓派系统中,即使你已经打开了Pi Camera,也不能正确识别出摄像头。你可以使用命令:
ls /dev/
并在最右边的一列中寻找“video0”,若没有此字符串,则说明并没有成功识别摄像头,需要手动添加驱动文件。
首先,打开驱动文件:
sudo vim /etc/modules
然后在末尾加入如下代码:
bcm2835-v4l2
保存退出,再输入命令
sudo raspi-config
重新开启摄像头模块,然后重启树莓派系统。再次使用命令:
ls /dev/
如果看到video0设备,则说明安装成功(如下图)
1x03 使用CSI摄像头
树莓派内置的摄像头拍照命令:
raspistill
摄像头录像命令:
raspivid
附带的参数可以参考树莓派官网的帮助文档,地址:
https://www.raspberrypi.org/app/uploads/2013/07/RaspiCam-Documentation.pdf
这里给出几个示例:
raspistill -o 1.jpg -t 1000
*1000ms后拍摄照片,储存为1.jpg
raspivid -o 1.h264 -t 10000
*拍摄一段时长为10000ms(10s)的h264格式视频,保存到文件1
2x01 USB摄像头的安装
USB摄像头的安装相对简单,如果打开了摄像头插件,使用命令:
ls /dev/
就可以直接找到video0设备,不需要安装额外的驱动。如果想要查看自己的USB摄像头是否能被兼容,请使用命令:
lsusb
如果能读取到摄像头设备信息(如:Standard Microsystem corp),说明兼容此摄像头
2x02 使用USB摄像头
若要使用USB摄像头拍摄,需要额外的软件如mplayer。安装命令(需换源/VPN):
sudo apt-get install mplayer
mplayer tv://
注:尽量避免使用USB摄像头。因供电不稳定,经常出现画面撕裂、色彩不全、无法读取等错误
3x01 作为网络摄像头使用
如opencv中的VideoCapture函数,很多方法可以打开网络摄像机获取画面。树莓派+摄像头可以组成一台简单的网络摄像头。
必要的软件motion安装命令:
sudo apt-get install motion
安装好后,需要手动修改配置文件激活:
sudo vim /etc/default/motion
把start_motion_daemon=no改为=yes
start_motion_deamon=yes
然后,打开配置并更改
sudo vim /etc/motion/motion.conf
#deamon off改成on
deamon on
#设置分辨率,参数可改
width 800
height 600
#关闭localhost限制
webcam_localhost off
好了,现在你可以访问http://树莓派ip:8081来访问摄像头了。
注意,除了Chrome没有其他浏览器可以直接访问摄像头画面(视频流会被识别为下载)