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!

lens ada.png

理论上这东西支持自动调焦,就像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 中国

举个直观的例子:

large_time_lapse_earth.jpg

我们的目标是拍摄序列照片,然后转换成视频,最后通过网页呈现出来。

# 连续拍摄图片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自拍照相机

先占个坑,后面补上来。

posted @ 2018-07-24 00:29  思兼  阅读(...)  评论(...编辑  收藏