我是靠谱客的博主 有魅力山水,最近开发中收集的这篇文章主要介绍Raspberry Pi上手系列 之六——Camera,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

记住,有蓝色胶带的一面应该面向以太网接口方向。

树莓派的主板上有一个专门为摄像头模块预留的接口: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

raspistill

raspivid

这两个命令可分别让你拍摄静帧照片和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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部