樹莓派攝像頭Camera的使用
一申鱼、安裝
1.硬件安裝
2.打開Raspberry Pi配置工具開啟Camera
二电抚、 如何通過命令行控制攝像頭模塊
現(xiàn)在您的相機(jī)模塊已連接且軟件已啟用母谎,請(qǐng)嘗試使用命令行工具
raspistill
和raspivid
。
1.單擊任務(wù)欄中的黑色監(jiān)視器圖標(biāo)打開終端窗口:
2.鍵入以下命令以拍攝靜態(tài)圖片并將其保存到桌面:
raspistill -o Desktop/image.jpg
3.按Enter
運(yùn)行命令某筐。
當(dāng)命令運(yùn)行時(shí)雹嗦,您可以在拍攝靜止圖像之前看到相機(jī)預(yù)覽打開五秒鐘。
4.在桌面上查找圖片文件圖標(biāo)仔拟,然后雙擊文件圖標(biāo)以打開圖片衫樊。
通過添加不同的選項(xiàng),您可以設(shè)置
raspistill
命令所采用的圖像的大小和外觀。
- 例如科侈,添加
-h
和-w
更改圖像的高度和寬度:
raspistill -o Desktop/image-small.jpg -w 640 -h 480
- 現(xiàn)在使用以下
raspivid
命令使用Camera Module錄制視頻:
raspivid -o Desktop/video.h264
- 要播放視頻文件载佳,請(qǐng)雙擊
video.h264
桌面上的文件圖標(biāo)以在VLC Media Player中將其打開。
三臀栈、如何使用Python代碼控制相機(jī)模塊
Python picamera
庫允許您控制相機(jī)模塊并創(chuàng)建出色的項(xiàng)目蔫慧。
1.打開Python 3編輯器,例如Thonny Python IDE:
2. 打開一個(gè)新文件并將其另存為camera.py
权薯。
注意: 永遠(yuǎn)不要將文件保存為picamera.py
姑躲,這一點(diǎn)很重要。
3.輸入以下代碼:
from picamera import PiCamera
from time import sleep
camera = PiCamera()
camera.start_preview()
sleep(5)
camera.stop_preview()
4.* 保存并運(yùn)行您的程序盟蚣。相機(jī)預(yù)覽應(yīng)顯示五秒鐘黍析,然后再次關(guān)閉。
注意:只有將顯示器連接到Raspberry Pi時(shí)屎开,相機(jī)預(yù)覽才有效阐枣。如果您使用遠(yuǎn)程訪問(例如SSH或VNC),則不會(huì)“看到相機(jī)預(yù)覽”牍戚。
5.如果您的預(yù)覽是顛倒的侮繁,可以使用以下代碼將其旋轉(zhuǎn)180度:
camera = PiCamera()
camera.rotation = 180
您可以通過旋轉(zhuǎn)圖像
90
,180
或270
度如孝。要重置圖像宪哩,請(qǐng)?jiān)O(shè)置rotation
為0
度。
最好使預(yù)覽稍微透視第晰,以便在預(yù)覽打開時(shí)查看程序中是否出現(xiàn)錯(cuò)誤锁孟。
6.通過設(shè)置alpha
級(jí)別使相機(jī)預(yù)覽透視:
camera.start_preview(alpha=200)
該
alpha
值可以是0
和255
之間的任何數(shù)字。
四茁瘦、用Python代碼拍攝靜態(tài)圖片
現(xiàn)在使用相機(jī)模塊和Python拍攝一些靜態(tài)照片品抽。
1.修改您的代碼以添加camera.capture()一行:
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()
注意:sleep在拍攝圖像之前至少需要兩秒鐘,這一點(diǎn)非常重要甜熔,因?yàn)檫@樣可以讓相機(jī)的傳感器有時(shí)間感應(yīng)光線圆恤。
運(yùn)行代碼。
您應(yīng)該看到相機(jī)預(yù)覽打開五秒鐘腔稀,然后應(yīng)該拍攝靜止圖像盆昙。拍照時(shí),您可以看到預(yù)覽會(huì)短暫調(diào)整到不同的分辨率焊虏。
您的新圖像應(yīng)保存到桌面淡喜。
2.現(xiàn)在添加一個(gè)循環(huán)來連續(xù)拍攝五張照片:
camera.start_preview()
for i in range(5):
sleep(5)
camera.capture('/home/pi/Desktop/image%s.jpg' % i)
camera.stop_preview()
變量i計(jì)算多少次循環(huán)運(yùn)行后,從0到4诵闭。因此炼团,圖像將保存為image0.jpg澎嚣,image1.jpg等等。
再次運(yùn)行代碼并將攝像頭模塊固定到位瘟芝。
相機(jī)應(yīng)該每五秒拍一張照片易桃。拍攝完第五張照片后,預(yù)覽將關(guān)閉模狭。
查看桌面以查找五張新圖片颈抚。
五、使用Python代碼錄制視頻
現(xiàn)在錄制視頻
1.修改您的代碼以刪除capture()并改為添加start_recording()和stop_recording()
您的代碼現(xiàn)在應(yīng)該如下所示:
camera.start_preview()
camera.start_recording('/home/pi/Desktop/video.h264')
sleep(5)
camera.stop_recording()
camera.stop_preview()
運(yùn)行代碼嚼鹉。
您的Raspberry Pi應(yīng)該打開預(yù)覽,錄制5秒的視頻驱富,然后關(guān)閉預(yù)覽锚赤。
六、如何更改圖像設(shè)置和添加圖像效果
Python
picamera
軟件提供了許多效果和配置來改變圖像的外觀褐鸥。
注意:某些設(shè)置僅影響預(yù)覽而不影響捕獲的圖像线脚,某些設(shè)置僅影響捕獲的圖像,而其他許多設(shè)置僅影響兩者叫榕。
1.設(shè)置圖像分辨率
您可以更改
resolution
相機(jī)模塊拍攝的圖像浑侥。
默認(rèn)情況下,圖像分辨率設(shè)置為顯示器的分辨率晰绎。靜態(tài)照片的最大分辨率為2592×1944寓落,視頻錄制的最大分辨率為1920×1080。
- 使用以下代碼將
resolution
最大值設(shè)置為拍照荞下。
注意:您還需要將幀速率設(shè)置
15
為啟用此最大分辨率伶选。
camera.resolution = (2592, 1944)
camera.framerate = 15
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/max.jpg')
camera.stop_preview()
最低分辨率為64×64。
2.在圖片中添加文字
您可以使用該命令向圖像添加文本
annotate_text
尖昏。
- 運(yùn)行此代碼嘗試:
camera.start_preview()
camera.annotate_text = "Hello world!"
sleep(5)
camera.capture('/home/pi/Desktop/text.jpg')
camera.stop_preview()
3.更改添加文本的外觀
- 使用以下代碼設(shè)置文本大醒鏊啊:
camera.annotate_text_size = 50
您可以將文本大小設(shè)置為之間的任何東西
6
來160
。默認(rèn)大小是32
抽诉。
也可以更改文本顏色陨簇。
- 首先,添加
Color
到import
程序頂部的行:
from picamera import PiCamera, Color
- 然后
import
在行下面修改你的其余代碼迹淌,使它看起來像這樣:
camera.start_preview()
camera.annotate_background = Color('blue')
camera.annotate_foreground = Color('yellow')
camera.annotate_text = " Hello world "
sleep(5)
camera.stop_preview()
4.更改預(yù)覽的亮度
您可以更改預(yù)覽顯示的亮度河绽。默認(rèn)亮度為
50
,您可以將其設(shè)置為0
和之間的任何值100
巍沙。
- 運(yùn)行以下代碼試試這個(gè):
camera.start_preview()
camera.brightness = 70
sleep(5)
camera.capture('/home/pi/Desktop/bright.jpg')
camera.stop_preview()
- 以下循環(huán)調(diào)整亮度并添加文本以顯示當(dāng)前亮度級(jí)別:
camera.start_preview()
for i in range(100):
camera.annotate_text = "Brightness: %s" % i
camera.brightness = i
sleep(0.1)
camera.stop_preview()
5.更改預(yù)覽的對(duì)比度
與預(yù)覽亮度類似葵姥,您可以更改預(yù)覽的對(duì)比度颁糟。
- 運(yùn)行以下代碼試試這個(gè):
camera.start_preview()
for i in range(100):
camera.annotate_text = "Contrast: %s" % i
camera.contrast = i
sleep(0.1)
camera.stop_preview()
6.添加炫酷的圖像效果
您可以使用它
camera.image_effect
來應(yīng)用特定的圖像效果铅乡。
圖像效果選項(xiàng)包括:
none
negative
solarize
sketch
denoise
emboss
oilpaint
hatch
gpen
pastel
watercolor
film
blur
saturation
colorswap
washedout
posterise
colorpoint
colorbalance
cartoon
deinterlace1
deinterlace2
默認(rèn)效果是
none
。
- 選擇圖像效果并嘗試一下:
camera.start_preview()
camera.image_effect = 'colorswap'
sleep(5)
camera.capture('/home/pi/Desktop/colorswap.jpg')
camera.stop_preview()
- 運(yùn)行此代碼以循環(huán)所有圖像效果
camera.IMAGE_EFFECTS
:
camera.start_preview()
for effect in camera.IMAGE_EFFECTS:
camera.image_effect = effect
camera.annotate_text = "Effect: %s" % effect
sleep(5)
camera.stop_preview()
設(shè)置圖像曝光模式
您可以使用camera.exposure_mode
將曝光設(shè)置為特定模式篓吁。
曝光模式選項(xiàng)包括:
off
auto
night
nightpreview
backlight
spotlight
sports
snow
beach
verylong
fixedfps
antishake
fireworks
默認(rèn)模式是auto
。
-
選擇曝光模式并試用:
camera.start_preview() camera.exposure_mode = 'beach' sleep(5) camera.capture('/home/pi/Desktop/beach.jpg') camera.stop_preview()
您可以
camera.EXPOSURE_MODES
像使用圖像效果一樣遍歷所有曝光模式削咆。
7.更改圖像白平衡
您可以使用
camera.awb_mode
將自動(dòng)白平衡設(shè)置為預(yù)設(shè)模式牍疏。
可用的自動(dòng)白平衡模式為:
off
auto
sunlight
cloudy
shade
tungsten
fluorescent
incandescent
flash
horizon
默認(rèn)是
auto
。
- 選擇自動(dòng)白平衡模式并嘗試:
camera.start_preview()
camera.awb_mode = 'sunlight'
sleep(5)
camera.capture('/home/pi/Desktop/sunlight.jpg')
camera.stop_preview()
- 您可以
camera.AWB_MODES
像使用圖像效果一樣循環(huán)所有自動(dòng)白平衡模式拨齐。