普及數電模電知識,科教興國。
大家好,我是阿樂。今天教大家用樹莓派拍攝延時攝影,先給大家看一段我拍好的動圖:
這段視頻是由一張張的照片拼接而成的,我從上午10點開始拍攝,拍到晚上7點,定時1分鐘拍一張,總共拍了500多張,拼接照片的時候一秒25幀,500多張的照片就濃縮成了這19秒。
把USB攝像頭架在陽台窗口上拍攝:
樹莓派放在陽台裡邊:
把照片從樹莓派上拷貝到電腦:
500多張照片:
來講一下需要的硬件,一塊樹莓派,我用的是2代B型,裝的是官方圖形界面的系統,這裡我就默認大家已經懂得如何裝系統,并且懂得基本的操作,比如SSH遠程登錄,在終端輸入指令等。
我們還需要一個USB攝像頭,注意是USB攝像頭,不是樹莓派官方的CSI攝像頭,我今天講的這些指令隻适用于USB攝像頭。
當然,我們還需要一個電源适配器,用來給樹莓派供電。
軟件方面,我們需要安裝fswebcam這個攝像頭軟件,在樹莓派終端輸入:sudo apt-get install fswebcam 這條指令,然後回車。
系統就會下載或者更新這個軟件。
有關于fswebcam這個程序的詳細參數我就不展開講了,在這裡我隻講拍攝一張圖片的方法。
以下面這條指令為例:fswebcam /dev/video0 --no-banner -r 640x480 /home/pi/test.jpg
我們在樹莓派終端敲入這條指令,回車,它就會抓拍一張照片,并且把照片保存在/home/pi這個目錄下。
講一下 fswebcam /dev/video0 --no-banner -r 640x480 /home/pi/test.jpg 這條命令:/dev/video0指的是指定操作設備,如果你樹莓派上插有多個USB攝像頭,你就可以加上這個指令,指定是用哪個攝像頭來拍照。不加也可以,不加就啟用默認的。
--no-banner代表的是拍出來的照片不需要時間戳,不加這個也可以,不加的話拍出來的照片就會有日期時間。
-r 640x480是設置分辨率,這個得看你的攝像頭支持拍多高分辨率的照片。
/home/pi/test.jpg最後這條代表的是拍一張照片并且命名為test,照片的格式是.jpg,然後存儲在/home/pi這個目錄下。
如果大家執行這條指令後拍出的照片是黑色的,那就說明攝像頭還沒準備好,這時我們把指令改成:fswebcam /dev/video0 --no-banner -r 640x480 -S 10 /home/pi/test.jpg,加個 -S 參數來跳過前面幾幀。
現在這條指令需要我們手動敲進去,很長,不方便,我們可以打開nano編輯器:
跟着我敲下這三行代碼:
#!/bin/bash
DATE=$(date ”%Y-%m-%H-%M”)
fswebcam --no-banner -r 640x480 -S 60 -D 2 -F 2/home/pi/webcampics/$DATE.jpg
這三行的意思是拍一張照片,分辨率是640x480,不需要時間戳,跳過前面60幀,設置2秒的預捕獲延遲時間,設置要捕獲的幀數,2就代表是2幀,然後拍出來的照片以年月日時分來命名,格式是.jpg,存儲在/home/pi/webcampics這個文件夾下。
我們将這個腳本命名為capture.sh,保存,退出。
接下來新建一個文件夾webcampics,用來存在拍好的照片,指令是mkdir webcampics,輸好後敲回車:
給這個腳本賦予運行權限,chmod x capture.sh
這樣我們隻要在終端敲./capture.sh就可以運行拍照的指令了,就簡單了很多,是吧?
最後設置一下定時拍照,我們現在編寫好這個拍照的腳本了,接下來需要樹莓派幫我們定時拍照,在終端輸入crontab -e,回車。
輸入如下指令:
* * * * * /home/pi/capture.sh >/dev/null 2>&1
這就創建了一個定時任務,這個是編輯定時任務的指令,每一分鐘執行一次/home/pi/目錄下的capture.sh這個腳本。這樣子樹莓派就會幫我們1分鐘拍一張照片,拍到天荒地老,除非你斷電,就算你斷電,關機,下次隻要你開機,它又繼續運行,1分鐘給你拍一張。
最後附上詳細視頻教程:樹莓派延時攝影
最後來總結一下,明确一下操作的思路:首先下載fswebcam這個軟件,懂得用指令來拍照;然後編寫一個拍照的腳本;再然後啟用樹莓派的定時任務,一分鐘幫我們拍一張照片。
好的,本期教程就到這裡,感謝大家的閱讀觀看,喜歡我們請點贊關注加轉發,我們下期再見,拜拜~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!