树莓派:你是我的眼

简介: 作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载。   树莓派官方出品有小型摄像头,用于录制视频或拍摄图片。娇小的树莓派和小型摄像头,可以制作一个很好用的移动摄影装置。

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载。

 

树莓派官方出品有小型摄像头,用于录制视频或拍摄图片。娇小的树莓派和小型摄像头,可以制作一个很好用的移动摄影装置。当前的摄像头版本是V2,配有8M像素的Sony IMX219感光板。V2摄像头又可以分为两款,一款用于正常的可见光拍摄,另一款带有红外夜视功能。最近我入手了有红外夜视功能的V2摄像头。这款摄像头名字是Pi NoIR Camera(The infrared Camera Module v2)。除了夜视功能之外,两款摄像头区别不大,调用程序也可以通用。所以这里就以NoIR Camera为基础,介绍树莓派摄像头的基本设置和用法。

NoIR Camera V2

 

摄像头的安装与设置

首先准备好树莓派,上面已经安装了官方的Raspbian系统。把摄像头的排线插入树莓派上的"camera"插口。注意在插入之前,要用两指捏起插口的盖子。排线放入后,盖子要重新按回去:

 

摄像头安装

 

树莓派开机后,首先更新Raspbian系统的软件源并升级:

sudo apt-get update &&  sudo apt-get upgrade

 

其次,我们要在树莓派设置中,启动摄像头模块。用命令进入到设置页面:

sudo raspi-config

在设置页面中启动摄像头:

 

摄像头的基本使用

设置完成后,摄像头就可以工作了。Raspbian提供了raspistill和raspivid两个命令行工具,分别用于获得图片和视频。首先,用raspistill获得图片:

raspistill -o image.jpg

图片存入到image.jpg这个文件中。

树莓派摄像头拍摄的照片

 

用raspivid获得视频:

raspivid -o video.h264 -t 10000

获得10秒H.264压缩格式的视频,存入到文件video.h264。

 

把H.264文件转换为MP4文件,可以使用gpac中的MP4Box。安装gpac: 

sudo apt-get install gpac

 转换文件为video.mp4: 

MP4Box -fps 30 -add video.h264 video.mp4

 

 树莓派拍摄的视频

 

在Raspbian中播放video.mp4:

omxplayer video.mp4

 

用VLC做网络摄像头

除了直接录制视频文件,树莓派的摄像头还能拍摄流媒体,用于网络播放。Raspbian下有很多工具可以实现这一功能。这里介绍VLC的用法。 

 

VLC是大名鼎鼎的视频播放软件,支持包括Raspbian在内的多个平台。在Raspbian下安装VLC,作为流媒体的服务器:

sudo apt-get install vlc

 

利用Linux下的管道机制,把raspivid拍摄的内容导入到VLC:

raspivid -o - -t 0 -n -w 480 -h 480 | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264

关键字-n说明了不显示预览窗口。随后vlc作为服务器,将流媒体送到树莓派的8160端口。同一网络下的任意其他装有VLC的设备,就可以通过访问树莓派的IP地址和8160端口来播放摄像头拍摄的内容。比如树莓派在我的局域网中的IP地址是192.168.1.27,那么在手机版VLC的网络媒体源中输入下面网络源:

http://192.168.1.27:8160

可以查看同一局域网下的视频:

 

这样,我们就用树莓派制作了一个方便移动的网络摄像头。更进一步,我们可以通过隧道的方式把视频内容绑定到某个互联网服务器,从而可以在互联网的范围内订阅该网络摄像头。实现隧道的具体方式不在这里赘述。

 

用Motion做动作捕捉

Motion是Linux下一款轻量级的监控软件。在日常工作模式下,Motion可以提供网络摄像头的功能。当拍摄过程中画面发生变动时,Motion可以保存动作发生时的图片和视频。这对于安保监控有很大帮助。Motion的使用很简单。首先,下载安装Motion:

sudo apt-get install motion

 

修改Motion的配置文件/etc/motion/motion.conf,更改下面几个值为:

daemon on
stream_localhost off

stream_maxrate 30
framerate 30

值得注意的是target_dir选项,默认值为/var/lib/motion。这是Motion存储文件的目标文件夹。所存储文件包括了运动捕捉产生的图片或视频。用户motion必须对该目标文件夹有写入权限。同时留意,流媒体的默认端口是8081,我们等下会用到。

此外,在设置文件中,默认的视频设备(videodevice项)是/dev/video0。如果你连接好了摄像头,却无法在/dev下找到video0,那么可以尝试加载V4L2驱动:

sudo rpi-update
sudo modprobe bcm2835-v4l2

 

修改/etc/default/motion,更改守护进程的设置:

start_motion_daemon=yes

然后,启动Motion:

sudo service motion start

 

在同一局域网下的其他电脑上,用浏览器打开192.168.8.113:8081,可以直接看到即时拍摄的流媒体:

动作捕捉的图片和视频将存储在目录/var/lib/motion下。如果想改变动作捕捉的相关参数,例如动作捕捉的敏感度等,可以在/etc/motion/motion.conf中修改。

 

这篇文章主要介绍了一些比较高层的应用软件。更底层一点,树莓派摄像头还可以通过Python进行编程。编程是经由PiCamera这一模块实现的。我将在另外一篇文章中专门介绍PiCamera。

 

欢迎阅读“骑着企鹅采树莓”系列文章

目录
相关文章
|
4月前
|
传感器 IDE 开发工具
基于Arduino的自行车转向指示灯
基于Arduino的自行车转向指示灯
39 0
|
9月前
|
传感器 人工智能 IDE
探索电子技术的魅力:使用Arduino实现LED闪
探索电子技术的魅力:使用Arduino实现LED闪
|
Python
机器狗搭建记录2-树莓派连接舵机
机器狗搭建记录2-树莓派连接舵机
335 0
|
数据采集 存储 传感器
便携式钻孔测斜仪及探头的连接及使用方法
在所有的应用场合,通常要在土体的钻孔内安装测斜管。测斜管有四个槽口(图 1.2),以配合测斜仪探头的滑轮(图 1.1),探头通过电缆连接至数据仪,通过测量测斜管的竖直倾斜,来探测由于地层移动引起的倾斜、成孔质量、。测斜仪探头有两组小滑轮,距离相隔 0.5m,以 0.5m 为单位进行每一段的角度测量,通过每一段的倾斜角度可计算出每一段的水平偏移量,对所有测段相对水平偏移量进行积分即可得到钻孔内任意一点相对于参照点(孔底或孔顶)的水平位移量。
便携式钻孔测斜仪及探头的连接及使用方法
|
编解码 搜索推荐
响铃:“沉浸”于量子点技术,三星显示器到底要“救”谁?
随着量子点技术的逐渐成熟,三星显示器将人们带到那个画面无限贴近于真实世界的视觉体验新时代。
295 0
响铃:“沉浸”于量子点技术,三星显示器到底要“救”谁?
|
编解码 算法 IDE
基于单片机的俄罗斯方块游戏机设计
本设计是通过STC89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。
基于单片机的俄罗斯方块游戏机设计
|
编解码
投影仪还是电视机?你的客厅想拿什么装点?
投影仪还是电视机?你的客厅想拿什么装点?
228 0
投影仪还是电视机?你的客厅想拿什么装点?
|
编解码 人工智能 物联网
启明云端分享:3.5寸串口屏在净化器上不可替代的地位
根据IDC预测数据显示,2021年中国智能家电设备出货量增长率预计在33%左右,2020-2025年出货量复合增长率预计在22%左右。而2021年中国智能电视销售额的增长率将放缓至4.1%,中国智能家电设备未来出货量的增长主要是基于智能家电领域的市场需求增加。
149 0
启明云端分享:3.5寸串口屏在净化器上不可替代的地位
|
传感器 人工智能 安全
不用键盘也能玩超级玛丽!当乐高马里奥变身遥控器,真‧手动控制
不用键盘也能玩超级玛丽!当乐高马里奥变身遥控器,真‧手动控制
267 0