[size=1.059em]今天教大家用树莓派拍摄延时摄影,先给大家看一段我拍好的动图: 020a3c5b8f9040d1b13dfe7766ee323c~noop.image?_iz=58558&from=article.jpg

[size=1.059em]这段视频是由一张张的照片拼接而成的,我从上午10点开始拍摄,拍到晚上7点,定时1分钟拍一张,总共拍了500多张,拼接照片的时候一秒25帧,500多张的照片就浓缩成了这19秒。
[size=1.059em]把USB摄像头架在阳台窗口上拍摄:
21811892fa35457fb6bc9090018ae994~noop.image?_iz=58558&from=article.jpg

[size=1.059em]树莓派放在阳台里边:
2a3bba2a40094953977496ea5e9c1b43~noop.image?_iz=58558&from=article.jpg

[size=1.059em]把照片从树莓派上拷贝到电脑:
0de1006a3eb6489c98f9ae7dce10c9eb~noop.image?_iz=58558&from=article.jpg

[size=1.059em]500多张照片:
c99d1bea3b4e41fa8c128d704913006b~noop.image?_iz=58558&from=article.jpg

[size=1.059em]来讲一下需要的硬件,一块树莓派,我用的是2代B型,装的是官方图形界面的系统,这里我就默认大家已经懂得如何装系统,并且懂得基本的操作,比如SSH远程登录,在终端输入指令等。
1f8d6fc7d92d448a9df4e95a33f5e4d3~noop.image?_iz=58558&from=article.jpg

[size=1.059em]我们还需要一个USB摄像头,注意是USB摄像头,不是树莓派官方的CSI摄像头,我今天讲的这些指令只适用于USB摄像头。
4025c590f7064a93820931fe17ac5a80~noop.image?_iz=58558&from=article.jpg

[size=1.059em]当然,我们还需要一个电源适配器,用来给树莓派供电。
13c0aeb2340d4a8ab56e9c1719347aa1~noop.image?_iz=58558&from=article.jpg

[size=1.059em]软件方面,我们需要安装fswebcam这个摄像头软件,在树莓派终端输入:sudo apt-get install fswebcam 这条指令,然后回车。
d29f3f3c625142489de7cbaa9d05d706~noop.image?_iz=58558&from=article.jpg

[size=1.059em]系统就会下载或者更新这个软件。
3f596b8f28f64ee38d171b6521288f68~noop.image?_iz=58558&from=article.jpg

[size=1.059em]有关于fswebcam这个程序的详细参数我就不展开讲了,在这里我只讲拍摄一张图片的方法。
[size=1.059em]以下面这条指令为例:fswebcam /dev/video0 --no-banner -r 640x480 /home/pi/test.jpg
9faac78069a54f65b7c5e5d6f84d8cef~noop.image?_iz=58558&from=article.jpg

[size=1.059em]我们在树莓派终端敲入这条指令,回车,它就会抓拍一张照片,并且把照片保存在/home/pi这个目录下。
00244bd870784e43938de43f06de832e~noop.image?_iz=58558&from=article.jpg

716090d6cd9345c0adfbe7c75dd0b203~noop.image?_iz=58558&from=article.jpg


[size=1.059em]讲一下 fswebcam /dev/video0 --no-banner -r 640x480 /home/pi/test.jpg 这条命令:/dev/video0指的是指定操作设备,如果你树莓派上插有多个USB摄像头,你就可以加上这个指令,指定是用哪个摄像头来拍照。不加也可以,不加就启用默认的。
[size=1.059em]--no-banner代表的是拍出来的照片不需要时间戳,不加这个也可以,不加的话拍出来的照片就会有日期时间。
[size=1.059em]-r 640x480是设置分辨率,这个得看你的摄像头支持拍多高分辨率的照片。
[size=1.059em]/home/pi/test.jpg最后这条代表的是拍一张照片并且命名为test,照片的格式是.jpg,然后存储在/home/pi这个目录下。
[size=1.059em]如果大家执行这条指令后拍出的照片是黑色的,那就说明摄像头还没准备好,这时我们把指令改成:fswebcam /dev/video0 --no-banner -r 640x480 -S 10 /home/pi/test.jpg,加个 -S 参数来跳过前面几帧。
[size=1.059em]现在这条指令需要我们手动敲进去,很长,不方便,我们可以打开nano编辑器:
c5769f160c4e4b1eb91279000b38fc0f~noop.image?_iz=58558&from=article.jpg

667dffde096a4d4aad08432f3a0697d3~noop.image?_iz=58558&from=article.jpg

[size=1.059em]跟着我敲下这三行代码:
[size=1.059em]#!/bin/bash
[size=1.059em]DATE=$(date +”%Y-%m-%H-%M”)
[size=1.059em]fswebcam --no-banner -r 640x480 -S 60 -D 2 -F 2/home/pi/webcampics/$DATE.jpg
02441893fefc4c0495ced30da1178fea~noop.image?_iz=58558&from=article.jpg

[size=1.059em]这三行的意思是拍一张照片,分辨率是640x480,不需要时间戳,跳过前面60帧,设置2秒的预捕获延迟时间,设置要捕获的帧数,2就代表是2帧,然后拍出来的照片以年月日时分来命名,格式是.jpg,存储在/home/pi/webcampics这个文件夹下。
[size=1.059em]我们将这个脚本命名为capture.sh,保存,退出。
7b05f8c4831c4d36834bc7e7658f9e02~noop.image?_iz=58558&from=article.jpg

[size=1.059em]接下来新建一个文件夹webcampics,用来存在拍好的照片,指令是mkdir webcampics,输好后敲回车:
11601e6816804d85af03d2268b9647f0~noop.image?_iz=58558&from=article.jpg

[size=1.059em]给这个脚本赋予运行权限,chmod +x capture.sh
efc074413d194cdc9644ac82bd14144a~noop.image?_iz=58558&from=article.jpg

[size=1.059em]这样我们只要在终端敲./capture.sh就可以运行拍照的指令了,就简单了很多,是吧?
c2606b4c2a3b4a2e983116f67ecfbde8~noop.image?_iz=58558&from=article.jpg

9c9b62321c5b4ccaa2fe3bbff7faec09~noop.image?_iz=58558&from=article.jpg

[size=1.059em]最后设置一下定时拍照,我们现在编写好这个拍照的脚本了,接下来需要树莓派帮我们定时拍照,在终端输入crontab -e,回车。
37bb52033dae47ae8b5eb7ddd478dfde~noop.image?_iz=58558&from=article.jpg

[size=1.059em]输入如下指令:
[size=1.059em]* * * * * /home/pi/capture.sh >/dev/null 2>&1
53024588d3e747bbb24e50ae2dee5654~noop.image?_iz=58558&from=article.jpg

[size=1.059em]这就创建了一个定时任务,这个是编辑定时任务的指令,每一分钟执行一次/home/pi/目录下的capture.sh这个脚本。这样子树莓派就会帮我们1分钟拍一张照片,拍到天荒地老,除非你断电,就算你断电,关机,下次只要你开机,它又继续运行,1分钟给你拍一张。
2d91723dc80a4cbb93547370604a6bfb~noop.image?_iz=58558&from=article.jpg

7ee31b4e52f64a149ee3748f14e6ebb6~noop.image?_iz=58558&from=article.jpg


[size=1.059em]最后来总结一下,明确一下操作的思路:首先下载fswebcam这个软件,懂得用指令来拍照;然后编写一个拍照的脚本;再然后启用树莓派的定时任务,一分钟帮我们拍一张照片。
[size=1.059em]
来源:创客e工坊