RPi Cam v2 之一:基础及牛刀小试
前言
原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。
本文使用markdown写成,为获得更好的阅读体验,可以访问我的博客。
1、unboxing & comparison
包装比较简单,里面附送了一个圆形的白片片,不知道干啥的,以前的1代木有,猜测是拧啥东西或者聚光的?
这是树莓派出的第二代摄像头,这里和1代进行下对比:
名称 | Camera v1.3 | Camera v2.1 |
---|---|---|
发布时间 | 2013 | 2016 |
像素 | 500w | 800w |
感光芯片 | OV5647 | Sony IMX219 |
静态图片分辨率 | 2592 × 1944 | 3280 × 2464 |
视频录像 | 支持1080p30, 720p60以及640×480p60/90视频录像 | 支持1080p 30fps, 720p 60以及640×480p 90视频录像,1280×720p? |
尺寸 | 25mm × 24mm × 9mm | 25mm × 24mm × 9mm |
摄像头参数 | CCD尺寸:1/4英寸;光圈(F):2.9;焦距: 3.60 mm +/- 0.01 | CCD尺寸:1/4英寸;光圈(F):2.0;焦距:3.04mm;视场角(FOV):73.8度 |
固定焦点 | 1米到无限远 | —— |
外观 |
(以上数据及图像部分出自微雪电子)更详细的参数对比可以移步RPi Camera官方介绍,其他介绍评测可以看这里:Raspberry Pi updates camera board with 8MP Sony IMX219 sensor
大家都知道索尼大法好,当然这个OV也很有名: Omnivision,中文名豪威科技,成立于1995,位于美国硅谷,专业开发高度集成CMOS影像技术。我们可以看到,新版的摄像头像素更高,但实际用起来不舒服。
2、失焦问题
刚接上摄像头测试的时候,发现新版摄像头拍出来的模糊一片,放狗一搜发现很多人都遇到这种问题,主要就是1代摄像头的固定焦点是1m~无限远,2代不是,所以附送了调焦轮。。。
Apparently v2 cameras were set at like 2m focus, instead of infinity focus like the v1.3 and v2.1 camera models.
If it looks rather blurry, check that you remembered to peel the
protective plastic from the Camera Module’s lens!
理论上这东西支持自动调焦,就像1代那样用起来很舒服。而这货需要手动调焦,性能参数上去了,但是使用体验较差。
3、基本用法
官方MagPi杂志提供了专门一期介绍Pi Camera的用法,从这里下载PDF文件。
安装的话就是注意别插反了,看一下金手指一般就ok了,另外对于RPi Zero需要购买转接线,我是在1688上这家买的:
硬件安装和系统启用摄像头(raspi-config)这里我们不再赘述(另外2代没有Camera LED),先玩点简单的:
- 拍摄照片
- 拍张照片:
raspistill -o firstpic.jpg
,下载或者直接双击打开即可看到。没调镜头的话会非常模糊。 - 延时拍摄:
raspistill -t 15000 -o newpic.jpg
,按下回车后15s自动拍照 - 角度翻转倒置:-vf 水平翻转,-hf垂直翻转,-rot旋转角度90~270
- 拍张照片:
- 视频录制
raspivid -t 10000 -o testvideo.h264
使用默认参数(分辨率 1920 × 1080)录制10sraspivid -w 640 -h 480 -fps 90 -t 10000 -o test90fps.h264
手动指定参数,降低分辨率提高帧数,使得图像看起来更平滑,一般电影24fps肉眼就不太能看出卡顿了。
- 其他功能
- 预览模式: -p x coordinate, y coordinate, width, and height,如 -p 100,100,300,200
- 相机控制选项:亮度-br、对比度-co、ISO -iso等
- 快门模式:
-t
设置延迟,-k
则可以按下回车键拍照,按X键则退出,此模式下使用%04d
可以生成图像序列,如raspistill -o keypress%04d.jpg -k
,这在下文的长时间延时拍摄(Time Lapses)过程中有用 - 图像滤镜:-drc、-cfx等
- 图像输出格式:
raspistill -o image.jpg –q 100
默认输出jpg,-q设置图像质量;raspistill -o image.png –e png
设置编码输出为png格式。
4、项目α—延时摄影Time Lapse:长时压缩
长时间定时定格延时拍摄。亦称低速摄影或定时定格摄影、“缩时”摄影。定时、间断记录并以明显变化的影像再现景物缓慢变化过程的手段。
——可以关注Time Lapse 中国
举个直观的例子:
我们的目标是拍摄序列照片,然后转换成视频,最后通过网页呈现出来。
# 连续拍摄图片3h,间隔10s拍摄一次,编号从0000开始由四位数字组成,&代表后台运行
sudo raspistill -w 1920 -h 1080 -t 10800000 -tl 10000 -o frame%04d.jpg &
# 在高性能主机上安装libav,一个FFmpeg的分支,处理图像
sudo apt-get install libav-tools
# 下载图片到处理主机,如`wget -r -A jpg path`,然后使用Libav合并成视频,默认帧率25fps,如此会将上述3h的图片合并为~40s的视频。关于crf值可以搜索了解一下。整个过程会比较长,或许用一台专业的工作站会好些
sudo avconv -i frame%04d.jpg -crf 4 -b:v 10M video.webm &
最后就是拍了我夜里睡觉的3小时图像(用的夜视摄像头),发现自己晚上睡觉还是比较老实的。后续会拍白天天空云彩的视频,有机会放上来。
5、项目β——高速摄影:短时分解
我们时常可以看到电影里某些镜头长时回放,令人震撼,一般需要高速摄像头录下来之后再以慢帧率播放,一般的电影胶片采用24fps,普通视频则为25~29fps之间,在此帧率下人眼感觉不到明显的停滞感,所以例如你以50fps拍摄然后25fps播放时,就可以看到慢动作回放。目前RPi Camera支持最大90fps录制,但是高速拍摄会牺牲分辨率,所以1代使用90fps录制时最大支持640×480,2代支持1280×720。
raspivid -n -w 640 -h 480 -fps 60 -t 5000 -o test.h264
raspivid -w 640 -h 480 -fps 90 -t 7000 -o myvid1.h264
这里我们可以拍摄碰撞、水滴、破碎(鸡蛋、气球)等一些高速动作,然后用其他支持指定帧率播放的Video Player查看,例如VLC在视图
里打开高级控制
可以看到逐帧播放按钮。
6、 借力Micro:bit之蓝牙版RPi自拍照相机
先占个坑,后面补上来。
RPi Cam v2 之一:基础及牛刀小试的更多相关文章
- java基础学习周计划之1--语言基础
JAVA语言基础第一天一. 知识点:1. 认识Linux操作系统2. JAVA开发环境3. Eclipse IDE二. 关键问题(理论):1. Linux中常用命令pwd.ls.cd的作用2. 简述J ...
- 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2
from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...
- Java基础学习总结(53)——HTTPS 理论详解与实践
前言 在进行 HTTP 通信时,信息可能会监听.服务器或客户端身份伪装等安全问题,HTTPS 则能有效解决这些问题.在使用原始的HTTP连接的时候,因为服务器与用户之间是直接进行的明文传输,导致了用户 ...
- MobileNetV1/V2/V3简述 | 轻量级网络
MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...
- 树莓派 Zero作为飞控图传
前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnblog ...
- HTTPS科普扫盲帖
为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...
- SNMP 原理与实战详解
原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...
- PKI系统深入介绍
公钥基础设施(Public Key Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因 此,对PKI技术的研究和开发成为目前信息安全领域的热点. ...
- android技巧(四)数据库跨版本升级写法
当项目中接手的需求需要在就前数据库数据表做出修改时,不得不面对数据库表结构的更新问题.一般的sqlite数据库更新修改数据库版本号时都会自动调用SqliteOptenHelper及其子类中的onUpg ...
随机推荐
- PAT1029
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在2行中分别给出应该输入的文字.以及实际 ...
- HDU3018 几笔画(非1笔)
Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- myeclipse搭建activemq 简单聊天
需要一起交流的请加群qq:200634530
- 【bzoj4448】[Scoi2015]情报传递 主席树
题目描述 奈特公司是一个巨大的情报公司,它有着庞大的情报网络.情报网络中共有n名情报员.每名情报员口J-能有若T名(可能没有)下线,除1名大头日外其余n-1名情报员有且仅有1名上线.奈特公司纪律森严, ...
- 省选算法学习-数据结构-splay
于是乎,在丧心病狂的noip2017结束之后,我们很快就要迎来更加丧心病狂的省选了-_-|| 所以从写完上一篇博客开始到现在我一直深陷数据结构和网络流的漩涡不能自拔 今天终于想起来写博客(只是懒吧.. ...
- Cmake——CMake+SVN或Hg生成版本号
CMake+SVN或Hg生成版本号 原来的CMake需要用shell脚本生成SVN版本号,再作为cmake参数传入.CMake调用脚本示例: #!/bin/sh # cmake.sh ServerCo ...
- 【BJOI 2019】奥术神杖
题意 你有一个长度为 $n$ 的模板串(由 $0-9$ 这 $10$ 个数字和通配符 $.$ 组成),还有 $m$ 个匹配串(只由 $0-9$ 这 $10$ 个数字组成),每个匹配串有一个魔力值 $v ...
- CF 148D Bag of mice【概率DP】
D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes Promblem descriptio ...
- URL重写IIS7(URL Rewrite Module) 比之前的urlrewrite更方便使用
原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 微软在IIS7中添加了URL的重写模块,并且免费使用,可以导入.htaccess规则,确实是个不错的选择 URL ...
- pyspider 爬虫教程(一):HTML 和 CSS 选择器
虽然以前写过 如何抓取WEB页面 和 如何从 WEB 页面中提取信息.但是感觉还是需要一篇 step by step 的教程,不然没有一个总体的认识.不过,没想到这个教程居然会变成一篇译文,在这个 ...