使用方法:
硬體連接:
1. 軟排線, 90度垂直連接器, HDMI口旁邊那個。 連接時觸點一側朝向HDMI介面。
2. 使用前撕掉鏡頭上的保護膜
3. 裸板, 注意ESD傷害,
軟體使用:
1. RPi固件和raspi-config已經為了攝像頭更新, 請執行一次apt-get update; apt-get upgrade;
2. raspi-config中選擇camera, 啟動RPi固件中的攝像頭驅動, 然後重啟
3. 使用命令列程式raspivid和raspistill操作攝像頭, 捕捉視頻片段或圖像
4. 捕捉到的視頻片段需要用mplayer播放
如何將攝像頭的資料通過網路直播播發出去:
通過nc命令(ncat - Concatenate and redirect sockets)將攝像頭的輸入資料, 直接重定向到網路埠實現輸出
RaspiCam 文檔
本文檔將對 2013 年 5 月為止可用的三個 Raspberry Pi 攝像頭應用程式進行介紹。
目前提供了三個應用程式, 分別為:raspistill、raspivid、raspistillyuv。 其中 raspistill 和 raspistillyuv 非常相似, 並且都是用於捕捉圖像, 而 raspivid 用於捕捉視頻。
所有應用程式均基於命令列方式運行, 通過 OpenMAX 的 mmal API 進行編寫。 OpenMAX 的 mmal API 提供了更易使用的系統元件。 注意, mmal 是一個由 Broadcom 為 Videocore 4 系統定制的 API。
應 用程式使用了三個 OpenMAX(mmal)元件:camera(攝像)、preview(預覽)、encoder(編碼)。
預覽顯示為可選參數, 但是可以用於全屏或輸出到指定的顯示器顯示區域進行顯示。
此外, 還可以省略檔案名參數, 這樣既可以直接預覽顯示而不寫入檔, 或者直接輸出到標準輸出設備上。
命令列幫助可以通過直接輸入應用程式名稱獲得。
通用命令列參數預覽視窗
--preview, -p 預覽視窗設置
允許使用者在螢幕上定義預覽視窗的大小和位置。 注意, 這將在所有其它視窗/圖像的上層顯示。
--fullscreen, -f 全屏預覽模式
強制預覽螢幕全屏顯示。 注意, 這將會保留輸入圖像的長寬比例, 所以可能會在圖像的邊緣出現填充條。
--nopreview, -n 不顯示預覽視窗
完全禁用預覽視窗。 注意, 儘管預覽視窗被禁用, 但攝像頭仍然在進行處理, 所以會繼續消耗資源。
攝像頭控制參數:
--sharpness, -sh 設置圖像銳度(-100 - 100)
設置圖像的銳度, 預設為 0。
--contrast, -co 設置圖像對比度(-100 - 100)
設置圖像的對比度, 預設為 0。
--brightness, -br 設置圖像亮度(0 - 100)
設置圖像的亮度, 預設為 50。 0 為最暗, 100 為最亮。
--saturation, -sa 設置圖像飽和度(-100 - 100)
設置圖像色彩飽和度。 默認為 0。
--ISO, -ISO 設置捕捉 ISO
暫時不可用。
--vstab, -vs 打開視頻穩定
僅用於視訊模式, 用於開啟視頻穩定。
--ev, -ev 設置曝光補償
設置圖像的曝光補償。 範圍為 -10 到 10, 默認為 0。
--exposure, -ex 設置曝光模式
可能用到的參數為:
off - 關閉曝光模式
auto - 使用自動曝光模式
night - 夜間拍攝模式
nightpreview -夜間預覽拍攝模式(暫且這麼稱呼)
backlight - 逆光拍攝模式
spotlight - 聚光燈拍攝模式
sports - 運動拍攝模式(高速快門等)
snow - 雪景優化拍攝模式
beach - 海灘優化拍攝模式
verylong - 長時間曝光拍攝模式
fixedfps - 幀約束拍攝模式
antishake - 防抖模式
fireworks - 煙火優化拍攝模式
注意, 不是所有的設置都會在對攝像頭進行微調時得到相應作用。
--awb, -awb 設置自動白平衡
可能用到的參數為:
off - 關閉白平衡測算
auto - 自動模式(預設)
sun - 日光模式
cloud - 多雲模式
shade - 陰影模式
tungsten - 鎢燈模式
fluorescent - 螢光燈模式
incandescent - 白熾燈模式
flash - 閃光模式
horizon - 地平線模式
--imxfx, -ifx 設置圖像特效
設置應用於圖像上的特效
可能用到的參數為:
none - 無特效(預設)
negative - 反色圖像
solarise - 曝光過度圖像
posterize - 色調圖像
whiteboard - 白板特效
blackboard - 黑板特效
sketch - 素描風格特效
denoise - 降噪圖像
emboss - 浮雕圖像
oilpaint - 油畫風格特效
hatch - 草圖特效
gpen - 馬克筆特效
pastel - 柔化風格特效
watercolour - 水彩風格特效
film - 膠片顆粒風格特效
blur - 模糊圖像
saturation - 色彩飽和圖像
colourswap - 暫未可用
washedout - 暫未可用
posterise - 暫未可用
colourpoint - 暫未可用
colourbalance - 暫未可用
cartoon - 暫未可用
--colfx, -cfx 設置色彩特效
指定圖像 U 和 V 通道的參數(範圍 0 到 255)。 例如:--colfx 128:128 將得到一張單色圖像。
--metering, -mm 設置測光模式
為預覽和捕捉指定測光模式
可能用到的參數為:
average - 全畫面平衡測光
spot - 點測光
backlit - 類比背光圖像
matrix - 陣列測光
--rotation, -rot 設置圖像旋轉(0 - 359)
對取景器和最終得到的圖像進行旋轉。 可以接受 0 以上任何值, 但由於硬體限制, 只支援 0、90、180、270 度。
--hflip, -hf 設置水準翻轉
水準翻轉預覽和保存的圖像。
--vflip, -vf 設置垂直翻轉
垂直翻轉預覽和保存的圖像。
應用程式專有設置raspistill
--width, -w 設置圖像寬度
--height, -h 設置圖像高度
--quality, -q 設置 JPEG 品質
品質為 100 時幾乎等同於未壓縮。 75 相對是比較好的選擇。
--raw, -r 向 JPEG 中繼資料中添加 RAW 資訊
該參數將從攝像頭獲取到的 RAW 資訊插入到 JPEG 中繼資料中。
--output, -o 輸出檔案名
指定輸出的檔案名。如果不指定,將不保存到檔。如果檔案名為"-",將輸出發送至標準輸出設備。
--verbose, -v 在運行過程中輸出詳細資訊
在程式運行過程中,輸出調試/詳細資訊。
--timeout, -t 獲取圖片前的時間
程式將執行指定的時長,然後進行獲取操作(前提是 output 已指定)。如果未指定,將設置為 5 秒。
--timelapse, -tl 間隔拍攝模式
指定多次拍攝之間所間隔的毫秒值。注意,您需要在檔案名中加入 %d 做為畫面計數。
-t 30000 -tl 2000 -o image%d.jpg
將會在 30 秒的時間內,每兩秒拍攝一次,並且將檔命名為:image1.jpg、image2.jpg...image15.jpg。
--thumb, -th 設置縮略圖參數(x:y:quality)
允許指定插入到 JPEG 檔中縮略圖資訊。如果不指定,將為默認的 64x48 品質為 35 的縮略圖。
--demo, -d 運行演示模式
該參數將迴圈使用所有攝像頭參數,並且不會捕捉。而且無論是否完成所有的迴圈,在超時週期到達時都會停止演示操作。迴圈之前的時間需要設置毫秒值。
--encoding, -e 指定輸出檔的編碼
可用的參數為 jpg、bmp、gif、png。注意,未被硬體加速支援的圖像格式(gif、png、bmp)在保存的時候要比 jpg 格式耗時更長。還需要注意,檔副檔名在編碼時將被完全忽略。
--exif, -x 在捕捉的內容中加入 EXIF 標籤(格式為 'key=value')
允許在 JPEG 圖像中插入特定的 EXIF 標籤。您可以插入 32 條記錄。這是非常實用的功能,比如插入 GPS 中繼資料。例如設置經度
--exif GPS.GPSLongitude=5/1,10/1,15/100
# 拍攝一張自訂大小的照片。
raspistill -t 2000 -o image.jpg -w 640 -h 480
# 降低圖像品質,減小檔尺寸
raspistill -t 2000 -o image.jpg -q 5
# 強制使預覽視窗出現在座標為 100,100 的位置,並且尺寸為寬 300 和高 200 圖元。
raspistill -t 2000 -o image.jpg -p 100,100,300,200
# 禁用預覽窗口
raspistill -t 2000 -o image.jpg -n
# 將圖像保存為 PNG 檔(無失真壓縮格式,但是要比 JPEG 速度慢)。注意,當選擇圖像編碼時,檔副檔名將被忽略。
raspistill -t 2000 -o image.png –e png
# 向 JPEG 檔中添加一些 EXIF 資訊。該命令將會把作者名稱標籤設置為 Dreamcolor,GPS 海拔高度為 123.5米。
raspistill -t 2000 -o image.jpg -x IFD0.Artist=Dreamcolor -x GPS.GPSAltitude=1235/10
# 設置浮雕風格圖像特效
raspistill -t 2000 -o image.jpg -ifx emboss
# 設置 YUV 圖像的 U 和 V 通道為指定的值(128:128 為黑白圖像)
raspistill -t 2000 -o image.jpg -cfx 128:128
# 僅顯示兩秒鐘預覽圖像,而不對圖像進行保存。
raspistill -t 2000
# 間隔獲取圖片,在 10 分鐘(10 分鐘 = 600000 毫秒)的時間裡,每 10 秒獲取一張,並且命名為 image_number_1_today.jpg,image_number_2_today.jpg... 的形式。
raspistill -t 600000 -tl 10000 -o image_num_%d_today.jpg
# 獲取一張照片並發送至標準輸出設備
raspistill -t 2000 -o -
# 獲取一張照片並保存為一個檔
raspistill -t 2000 -o - > my_file.jpg
視頻捕捉
圖像尺寸和預覽設置與圖像捕捉相同。錄製的視頻預設尺寸為 1080p(1920x1080)
# 使用默認設置錄製一段 5 秒鐘的視頻片段(1080p30)
raspivid -t 5000 -o video.h264
# 使用指定碼率(3.5Mbits/s)錄製一段 5 秒鐘的視頻片段
raspivid -t 5000 -o video.h264 -b 3500000
# 使用指定幀率(5fps)錄製一段 5 秒鐘的視頻片段
raspivid -t 5000 -o video.h264 -f 5
# 發送到標準輸出設備一段 5 秒鐘經過編碼的攝像頭流圖像
raspivid -t 5000 -o -
# 保存到檔一段 5 秒鐘經過編碼的攝像頭流圖像
raspivid -t 5000 -o - > my_file.h264
樹莓派3b攝像頭模組外更多的創客開發板,開發
樹莓派3b攝像頭模組 500萬圖元 Raspberry Pi Camera 易絡盟出品 ¥109 購買
--output, -o 輸出檔案名
指定輸出的檔案名。如果不指定,將不保存到檔。如果檔案名為"-",將輸出發送至標準輸出設備。
--verbose, -v 在運行過程中輸出詳細資訊
在程式運行過程中,輸出調試/詳細資訊。
--timeout, -t 獲取圖片前的時間
程式將執行指定的時長,然後進行獲取操作(前提是 output 已指定)。如果未指定,將設置為 5 秒。
--timelapse, -tl 間隔拍攝模式
指定多次拍攝之間所間隔的毫秒值。注意,您需要在檔案名中加入 %d 做為畫面計數。
-t 30000 -tl 2000 -o image%d.jpg
將會在 30 秒的時間內,每兩秒拍攝一次,並且將檔命名為:image1.jpg、image2.jpg...image15.jpg。
--thumb, -th 設置縮略圖參數(x:y:quality)
允許指定插入到 JPEG 檔中縮略圖資訊。如果不指定,將為默認的 64x48 品質為 35 的縮略圖。
--demo, -d 運行演示模式
該參數將迴圈使用所有攝像頭參數,並且不會捕捉。而且無論是否完成所有的迴圈,在超時週期到達時都會停止演示操作。迴圈之前的時間需要設置毫秒值。
--encoding, -e 指定輸出檔的編碼
可用的參數為 jpg、bmp、gif、png。注意,未被硬體加速支援的圖像格式(gif、png、bmp)在保存的時候要比 jpg 格式耗時更長。還需要注意,檔副檔名在編碼時將被完全忽略。
--exif, -x 在捕捉的內容中加入 EXIF 標籤(格式為 'key=value')
允許在 JPEG 圖像中插入特定的 EXIF 標籤。您可以插入 32 條記錄。這是非常實用的功能,比如插入 GPS 中繼資料。例如設置經度
--exif GPS.GPSLongitude=5/1,10/1,15/100
# 拍攝一張自訂大小的照片。
raspistill -t 2000 -o image.jpg -w 640 -h 480
# 降低圖像品質,減小檔尺寸
raspistill -t 2000 -o image.jpg -q 5
# 強制使預覽視窗出現在座標為 100,100 的位置,並且尺寸為寬 300 和高 200 圖元。
raspistill -t 2000 -o image.jpg -p 100,100,300,200
# 禁用預覽窗口
raspistill -t 2000 -o image.jpg -n
# 將圖像保存為 PNG 檔(無失真壓縮格式,但是要比 JPEG 速度慢)。注意,當選擇圖像編碼時,檔副檔名將被忽略。
raspistill -t 2000 -o image.png –e png
# 向 JPEG 檔中添加一些 EXIF 資訊。該命令將會把作者名稱標籤設置為 Dreamcolor,GPS 海拔高度為 123.5米。
raspistill -t 2000 -o image.jpg -x IFD0.Artist=Dreamcolor -x GPS.GPSAltitude=1235/10
# 設置浮雕風格圖像特效
raspistill -t 2000 -o image.jpg -ifx emboss
# 設置 YUV 圖像的 U 和 V 通道為指定的值(128:128 為黑白圖像)
raspistill -t 2000 -o image.jpg -cfx 128:128
# 僅顯示兩秒鐘預覽圖像,而不對圖像進行保存。
raspistill -t 2000
# 間隔獲取圖片,在 10 分鐘(10 分鐘 = 600000 毫秒)的時間裡,每 10 秒獲取一張,並且命名為 image_number_1_today.jpg,image_number_2_today.jpg... 的形式。
raspistill -t 600000 -tl 10000 -o image_num_%d_today.jpg
# 獲取一張照片並發送至標準輸出設備
raspistill -t 2000 -o -
# 獲取一張照片並保存為一個檔
raspistill -t 2000 -o - > my_file.jpg
視頻捕捉
圖像尺寸和預覽設置與圖像捕捉相同。錄製的視頻預設尺寸為 1080p(1920x1080)
# 使用默認設置錄製一段 5 秒鐘的視頻片段(1080p30)
raspivid -t 5000 -o video.h264
# 使用指定碼率(3.5Mbits/s)錄製一段 5 秒鐘的視頻片段
raspivid -t 5000 -o video.h264 -b 3500000
# 使用指定幀率(5fps)錄製一段 5 秒鐘的視頻片段
raspivid -t 5000 -o video.h264 -f 5
# 發送到標準輸出設備一段 5 秒鐘經過編碼的攝像頭流圖像
raspivid -t 5000 -o -
# 保存到檔一段 5 秒鐘經過編碼的攝像頭流圖像
raspivid -t 5000 -o - > my_file.h264
樹莓派3b攝像頭模組外更多的創客開發板,開發
樹莓派3b攝像頭模組 500萬圖元 Raspberry Pi Camera 易絡盟出品 ¥109 購買