前言

原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。

本文使用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),先玩点简单的:

  1. 拍摄照片

    • 拍张照片raspistill -o firstpic.jpg,下载或者直接双击打开即可看到。没调镜头的话会非常模糊。
    • 延时拍摄raspistill -t 15000 -o newpic.jpg,按下回车后15s自动拍照
    • 角度翻转倒置:-vf 水平翻转,-hf垂直翻转,-rot旋转角度90~270
  2. 视频录制
    • raspivid -t 10000 -o testvideo.h264 使用默认参数(分辨率 1920 × 1080)录制10s
    • raspivid -w 640 -h 480 -fps 90 -t 10000 -o test90fps.h264手动指定参数,降低分辨率提高帧数,使得图像看起来更平滑,一般电影24fps肉眼就不太能看出卡顿了。
  3. 其他功能
    • 预览模式: -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 之一:基础及牛刀小试的更多相关文章

  1. java基础学习周计划之1--语言基础

    JAVA语言基础第一天一. 知识点:1. 认识Linux操作系统2. JAVA开发环境3. Eclipse IDE二. 关键问题(理论):1. Linux中常用命令pwd.ls.cd的作用2. 简述J ...

  2. 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2

    from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...

  3. Java基础学习总结(53)——HTTPS 理论详解与实践

    前言 在进行 HTTP 通信时,信息可能会监听.服务器或客户端身份伪装等安全问题,HTTPS 则能有效解决这些问题.在使用原始的HTTP连接的时候,因为服务器与用户之间是直接进行的明文传输,导致了用户 ...

  4. MobileNetV1/V2/V3简述 | 轻量级网络

    MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...

  5. 树莓派 Zero作为飞控图传

    前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnblog ...

  6. HTTPS科普扫盲帖

    为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...

  7. SNMP 原理与实战详解

    原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...

  8. PKI系统深入介绍

    公钥基础设施(Public Key Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因 此,对PKI技术的研究和开发成为目前信息安全领域的热点. ...

  9. android技巧(四)数据库跨版本升级写法

    当项目中接手的需求需要在就前数据库数据表做出修改时,不得不面对数据库表结构的更新问题.一般的sqlite数据库更新修改数据库版本号时都会自动调用SqliteOptenHelper及其子类中的onUpg ...

随机推荐

  1. Android数据储存之SQLiteDatabase SQLiteOpenHelper类的简单使用

    SQLiteOpenHelper 简介: SQLiteOpenHelper是一个借口!所以不能直接实例化!那我们想要得到SQLiteOpenHelper对象就需要实现该接口!创建该接口的实现类对象! ...

  2. jQuery动态显示和隐藏datagrid中的某一列的方法

    在EasyUI中: 1)展示某列的方法:     $('#jgrid').datagrid('showColumn', 'XXX');  -----其中 XXX 是隐藏列的  field 属性值 2) ...

  3. LAMP第四部分 mysql相关

    1. 忘记root密码http://www.lishiming.net/thread-252-1-1.html 进入mysqlwhich mysql/usr/local/mysql/bin/mysql ...

  4. 【bzoj4012】[HNOI2015]开店 动态点分治+STL-vector

    题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的想法当然非常好啦,但是她们也发现她们面临着一个问题 ...

  5. C#中找不到MouseWheel事件的解决办法

    在.....Designer.cs中加入 this.pictureBox1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this. ...

  6. Socket通信——服务器和客户端相互通信

    所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.  Socket和S ...

  7. [NOI2010][bzoj2005] 能量采集 [欧拉函数+分块前缀和优化]

    题面: 传送门 思路: 稍微转化一下,可以发现,每个植物到原点连线上植物的数量,等于gcd(x,y)-1,其中xy是植物的横纵坐标 那么我们实际上就是要求2*sigma(gcd(x,y))-n*m了 ...

  8. hosts修改备份

    # Modified hosts start # Armorgames Start 93.184.220.39 cache.armorgames.com 93.184.220.39 gamemedia ...

  9. ofbiz数据库表结构设计(2)- CONTACT_MECH

    ofbiz中,party的电话.地址等联系方式设计得非常巧妙,让我们来仔细分析一下. 有一个叫做CONTACT_MECH的表,这张表我们把它称作联系方式表,一个电话号码.一个通讯地址.一个电子邮件,都 ...

  10. cf 512D - Fox And Travelling

    题目大意 给定一颗\(n\le 100\)个点的图,可以进行随机游走,求游走\(k=0...n\)个点的方案数 游走的规则是:每次只能访问一个度数\(\le 1\)的点,并将其删除 分析 看完傻眼 问 ...