材料准備:
1、樹莓派
2、AS 4WD小車
3、WebCam
4、小米移動電源
5、TP—LINK 高增益150MUSB無線網卡
操作流程:
1.將WebCam插上樹莓派后,首先要確認樹莓派是否支持該設備。輸入:
pi@raspberrypi ~$ lsusb
在返回的信息中,我們可以看到“Logitech, Inc.WebCam C270”的信息,說明該視頻攝像頭攝像頭已經被樹莓派操作系統成功識別。一般來說,只要在官方兼容列表中的設備,都能夠被樹莓派成功識別。此外,我們在返回的消息中,還可以看到鍵鼠、無線網卡的相關信息。
2、測試實時視頻
luvcvew可以用來查看WebCam的視頻信息,它包含了一個mjpeg的編碼器,能夠將視頻流保存為AVI格式的文件。mjpeg的壓縮效率並不高,且對帶寬擁有較高要求,因而從今天來看,它並非一款理想的視頻壓縮技術。
安裝luvcvew:
pi@raspberrypi ~$ sudo apt-get install luvcview
輸入下面的指令,讓系統幫助我們找到luvcview在哪里。正常情況下,系統應該返回“/usr/bin/luvcview”,如果系統沒有返回,再重新檢查一下該插件是否已經安裝妥當。
pi@raspberrypi ~$ which luvcview
luvcview需要工作在桌面環境中,即Raspbian的LXDE中。luvcview默認采用640像素*480像素的分辨率進行視頻采集,在實際應用中,我們發現如果采用這一分辨率,樹莓派內存吃緊,卡頓的情況比較嚴重,因此我們需要降低WebCam采集的分辨率為320像素*240像素,在LXDE(LXTerminal)中:
pi@raspberrypi ~$ luvcview -s 320x240
執行完成之后,桌面上會彈出一個窗口,用來播放WebCam的視頻信號。此時,我們再來觀察一下桌面右上角CPU的使用情況,發現幾乎已經全部被占用了,當然這也已經是在320像素*240像素分辨率的設置下,如果再調高分辨率,估計系統會返佣更慢。
3、測試拍照
在桌面環境下,本身就要耗費許多資源,實際上,Linux下許多圖形、圖像還是可以跑在Shell下的,下面我們就演示在Shell中調用攝像頭進行拍照。需要使用另一個小工具——uvccapture。
安裝uvccapture:
pi@raspberrypi ~$ sudo apt-get install uvccapture
開始拍照:
像素標准1:960*720
pi@raspberrypi ~$ uvccapture -B120 -C40 -S30 -x960 -y720 -ocamera.jpg
uvccapture攜帶的參數較多,其中,“-x,-y”為圖像分辨率,“-B”為亮度(Brightness),"-C"為對比度(Contrast),“-S”為飽和度(Saturation),"-o"輸出圖像文件路徑,"camera.jpg"為保存的照片文件名,默認保存在"/home/pi"目錄下。
當水平圖像分辨率(x)超過960像素時,當垂直圖像分辨率(y)超過720像素時,還需要使用YUYV方式進行拍照,此時相比於上述方式,除了需要修改像素參數意外,還要額外增加一個參數“-m”。
像素標准2:1280*720
pi@raspberrypi ~$ uvccapture -B120 -C40 -S30 -x1280 -y720 -m -ocamera.jpg
測試效果: