概述
记住,有蓝色胶带的一面应该面向以太网接口方向。
树莓派的主板上有一个专门为摄像头模块预留的接口:CSI(Camera Serial Interface)。注意 CSI 并不是树莓派特有的,而是 MIPI(移动产业处理器接口联盟)定义的一个接口,用于约束手机与摄像头连接和通信的规范
设置
-
安装完成之后,给树莓派上电,开始进行设置
-
首先是更新摄像头驱动,新版系统可能不用,但还是更新一下为好
sudo apt-get update
sudo apt-get upgrade
-
更新完之后,需要启用,有两种方式,设置完之后均需重启才能生效
-
首先是命令行方式,执行
sudo raspi-config
打开配置,选择Interfacing Options
,再找到Camera
然后选择启用即可
- 第二种是直接 vnc 连接上去,点击树莓派图标->首选项->配置->接口->摄像头启用-ok 重启
- 重启后查看设备是否成功挂载,
ls -l /dev/ | grep video
,看到 video0 表示成功挂载识别
使用
通过raspi-config工具更新了操作并使能摄像头之后,它会告诉树莓派摄像头已经连接成功,并增加了两个命令行工具以供用户使用摄像头。
1 2 |
|
这两个命令可分别让你拍摄静帧照片和HD视频了!
使用raspistill
命令可能不适用于 usb 摄像头,那个需要安装使用sudo apt-get install uvccapture
画面捕捉
-
raspistill
是集成在系统的,可以直接使用,运行raspistill -o h.jpg
即可成功截图并保存输出,更多参数使用raspistill --help | more
录制视频
- 执行
raspivid -o v.h264 -t 5000
,录制 5 秒长度的 1080p 视频,h264 是 MPEG4 之后的视频压缩格式,数据压缩比例高。桌面环境双击视频可直接播放,或者桌面环境执行omxplayer v.h264
或者
添加参数
拍摄照片,在 2000ms 后拍摄一张照片,然后保存为 keychain.jpg:
$ raspistill -o keychain.jpg -t 2000
这句命令将下面就是一张由 Pi Cam 拍摄的我的小熊公仔钥匙链。
raspiyuv 工具用法差不多,只不过拍摄得到的是一张未处理过的raw图像。
通过摄像头模块拍视频
想要用摄像头模块拍一段视频的话,可以从命令行运行 raspivid 工具。下面这句命令会按照默认配置(长度5秒,分辨率1920x1080,比特率 17Mbps)拍摄一段视频。
$ raspivid -o mykeychain.h264
如果你想改变拍摄时长,只要通过 "-t" 选项来设置你想要的长度就行了(单位是毫秒)。
$ raspivid -o mykeychain.h264 -t 10000
使用 "-w" 和 "-h" 选项将分辨率降为 1280x720...
$ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720
raspivid 的输出是一段未压缩的 H.264 视频流,而且这段视频不含声音。为了能被通常的视频播放器所播放,这个 raw 的 H.264 视频还需要转换。可以使用 gpac 包中所带有的 MP4Box 应用。
在 Raspbian 上安装 gpac,输入命令:
$ sudo apt-get install -y gpac
然后将这段 raw 的 H.264 格式的视频流转换为每秒30帧的 .mp4 格式视频:
$ MP4Box -fps 30 -add keychain.h264 keychain.mp4
参考文档:https://linux.cn/article-3650-1.html
https://blog.csdn.net/damanchen/article/details/85163229
https://shumeipai.nxez.com/2013/10/07/raspberry-pi-to-install-the-camera-module.html
https://www.imooc.com/article/296614
照片保存在当前目录。可以使用Winscp连接PC和Raspberry Pi,将照片从Raspberry传输到PC,在PC中查看媒体文件。
h264文件可以使用PotPlayer64.exe播放器打开。
深入1 ——更多命令参数介绍
https://www.cnblogs.com/bile/p/13213973.html
raspistill命令的相关参数和实验的具体效果:
-v:调试信息查看
执行下面的指令:
raspistill -o image%d.jpg -rot 180 -w 1024 -h 768 -t 20000 -tl 5000 -v
接着下面就会输出一系列的捕获的信息,
如图片的大小,
图片的总捕获时间,
图像是否旋转,
是否水平反转垂直反转:
下面是最后的捕获的结果:
注:这里解释一下图片的采集数量和-t参数以及-tl参数的相关关系:N_Picture = -t(获取图像前等待时间)/-tl(多久执行一次抓取时间) + 1。所以有20000/5000+1 = 5张图片
2、使用raspivid指令来生成.h246的文件
raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720
这样就会在当前文件夹下面生成mykeychain.h264的文件:
如果你想改变拍摄时长,只要通过 "-t" 选项来设置你想要的长度就行了(单位是毫秒)。
如果你想改变图像的分辨率,使用 "-w" 和 "-h" 选项将分辨率降为 1280x720等等。
四、使用VLC等来实现http的视屏流传输:
1、首先需要在你的树莓派上面安装VLC的软件
sudo apt-get update
sudo apt-get install vlc --fix-missing
sudo apt-get install vlc
2、启动你的树莓派摄像头
sudo raspivid -o - -rot 180 -t 0 -fps 30|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264
3、打开你PC机电脑上的VLC软件,选择打开网络串流(Ctrl+N),输入上面指令的端口号以及对应的树莓派的IP地址
(如下图所示我的树莓派的IP地址是192.168.1.129),运行结果如下图所示,当然也发现http的视频流的确比较卡,当然我采用的视频的画质是500W像素的画质,所以视频的质量比较差,当我将视频的画质调节到720*360时,感觉非常的流畅。(@局域网测试环境)
http://192.168.1.129:8080
后续在使用Python Opencv来控制调用树莓派的摄像头做些有意思的东西~
五、使用Raspiberry自带的摄像头python接口picamera库+Opencv来控制调用Camera
官网的Document参考:http://picamera.readthedocs.io/en/release-1.13/index.html
可以参考这里的完整教程:https://robocoderhan.github.io/
也可以参考我的另一篇博客:http://www.cnblogs.com/uestc-mm/p/7606855.html
深入2——查看照片
https://my.oschina.net/u/1777508/blog/1791976
eog命令查看图片
不支持在终端/控制台显示图片。使用GUI显示。
fbi命令查看图片
安装:
$ sudo apt-get install fbi
进入控制台(不是终端),可以使用Control-Alt-F1快捷键。
sudo fbi foo.jpg
显示正常的图片,不使用字符代替。
cacaview命令查看图片
安装:
sudo apt-get install caca-utils
在终端下查看图片会打开一个新的窗口,在控制台(console)下直接显示图片。
使用字符显示图片。
picture-tube工具查看图片
使用nodejs编写,只支持png图片。
安装:
$ npm install -g picture-tube
使用:
项目地址: https://github.com/substack/picture-tube
使用imaging工具查看图片
使用nodejs编写。依赖phantomjs,体积较大。
安装:
npm install imaging -g
使用:
项目地址: https://github.com/switer/imaging
mplayer命令播放电影
加上-fs
参数即可,在控制台下用字符播放电影:laughing:
使用q
退出播放。
或者
mplayer -vo caca <movie_file>
最后
以上就是有魅力山水为你收集整理的Raspberry Pi上手系列 之六——Camera的全部内容,希望文章能够帮你解决Raspberry Pi上手系列 之六——Camera所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复