使用樹莓派的攝像頭


我目前使用的樹莓派是3B+,操作系統是Raspbian-stretch。樹莓派官方提供了小型攝像頭,用於拍照和錄制視頻。目前官網上提供了兩款攝像頭,一個是用於正常的可見光拍攝,另一個帶有紅外夜視功能,我入手的是這款帶紅外夜視功能的攝像頭,這款攝像頭的名字叫PI NOIR CAMERA V2(The infrared Camera Module v2 (Pi NoIR)),具體可以參見樹莓派官網

攝像頭的安裝與設置


首先准備好樹莓派,已經安裝好官方的Raspbian系統,如果沒有安裝好請參考開始使用樹莓派。把攝像頭的排線插入樹莓派上的"camera"插口。攝像頭對靜電比較敏感,同時也不要在樹莓派運行時插拔攝像頭,不然很容爆掉。

樹莓派開機后,首先更新源

sudo apt-get update && sudo apt-get upgrade 

然后設置攝像頭的使能控制端,即開啟攝像頭功能,選擇Interface Options選項,然后選擇P1 Camera開啟攝像頭

        

 

使用攝像頭


 

 設置完成后,攝像頭就可以進行工作了,目前提供了三個應用程序,分別為:raspistill、raspivid、raspistillyuv。其中 raspistill 和 raspistillyuv 非常相似,並且都是用於捕捉圖像,而 raspivid 用於捕捉視頻。

1)用rasptill獲取一張圖片

raspistill -o image.jpg

2)用raspivid獲取視頻

raspivid -o video.h264 -t 10000

獲得10秒H.264壓縮格式的視頻,存入到文件video.h264。

raspivid 通常會將錄制的視頻保存為 .h264 格式的文件,而我們使用的很多播放器可能無法正常播放該格式的視頻文件。這就需要我們將生成的 .h264 格式的文件封裝到播放器能夠識別的視頻容器格式中(比如封裝為 mp4 格式)。有很多視頻處理軟件可以達到這個目的,可以直接在樹莓派上進行封裝。這里介紹的是“gpac”中的“MP4Box”。

安裝gpac

$sudo apt-get update
$sudo apt-get install gpac

將.h264的文件轉換成.mp4的文件

$sudo MP4Box -add video.h264 video.mp4

使用omxplayer播放視頻

$omxplayer video.mp4 

這里僅僅是最基本的操作,如果要更深入的了解,還是要看這兩個命令的幫助文檔,可以執行

$raspistill --help
$raspivid --help

 

使用motion搭建視頻監控系統


 motion是Linux下一款輕量級的視頻監控軟件,motion可以提供網絡攝像頭的功能,當拍攝過程中畫面發生變動時,Motion可以保存動作發生時的圖片和視頻,這時如果將抓拍的圖片或視頻上傳到百度雲或者DropBox中就可以實現一個簡單的監控系統。具體實現如下:

安裝motion

$sudo apt-get install motion

配置motion選項時,先對配置文件進行備份

$sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.bak

修改/etc/motion/motion.conf選項

$sudo vim /etc/motion/motion.conf
daemon on                           #開啟守護進程(選配)
target_dir /home/pi/motion-images    #文件保存的路徑,圖像變化時圖片保存的路徑         
stream_localhost off                 #允許通過網頁查看攝像頭
width  640
height 480
stream_maxrate 30 framerate 30
 
        

值得注意的是target_dir選項,默認值為/var/lib/motion。這是motion存儲文件的目標文件夾。所存儲文件包括了運動捕捉產生的圖片或視頻。用戶motion必須對該目標文件夾有寫入權限。這里我們將默認的文件目標進行了修改。同時注意,流媒體的默認端口是8081,這里后面會使用到。

最后,在設置文件中,默認的視頻設備(videodevice項)是/dev/video0。如果你連接好了攝像頭,卻無法在/dev下找到video0,那么可以嘗試加載V4L2驅動:

sudo rpi-update
sudo modprobe bcm2835-v4l2 #加載驅動模塊

這樣每次啟動都要重新加載v4l2驅動,如果你希望開機就加載v4l2驅動可以在/etc/modules文件中加入bcm2835-v4l2,這樣每次開機就可以直接加載v4l2驅動模塊。

 

修改/etc/default/motion,更改守護進程的設置:

start_motion_daemon=yes

然后,啟動motion

sudo motion

在同一局域網下的其他電腦上,用瀏覽器打開192.168.23.122:8081,可以直接看到即時拍攝的流媒體:

動作捕捉的圖片和視頻將存儲在目錄/home/pi/motion-images下。如果想改變動作捕捉的相關參數,例如動作捕捉的敏感度等,可以在/etc/motion/motion.conf中修改,這里需要參考具體motion的使用。


當拍攝過程中畫面發生變動時,Motion可以保存動作發生時的圖片和視頻

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM