使用樹莓派的攝像頭,將樹莓派自身提供的picamera的API數(shù)據(jù)轉(zhuǎn)換為Python Oencv可用圖像數(shù)據(jù):
# import the necessary packages
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
# initialize the camera and grab a reference to the raw camera capture
camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 32
camera.hflip = True
camera.vflip = True
rawCapture = PiRGBArray(camera, size=(640, 480))
# allow the camera to warmup
time.sleep(0.1)
# capture frames from the camera
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
# grab the raw NumPy array representing the image, then initialize the timestamp
# and occupied/unoccupied text
image = frame.array
# show the frame
cv2.imshow("Frame", image)
key = cv2.waitKey(1) & 0xFF
# clear the stream in preparation for the next frame
rawCapture.truncate(0)
# if the `q` key was pressed, break from the loop
if key == ord("q"):
break
這里簡單的講一下picamera對象的相關(guān)內(nèi)容:
1、首先使用picamera模塊當(dāng)中的PiCamera方法創(chuàng)建返回一個camera的對象:
camera = PiCamera()
2、初始化camera對象當(dāng)中的相關(guān)參數(shù):
camera.saturation = 80 # 設(shè)置圖像視頻的飽和度
camera.brightness = 50 # 設(shè)置圖像的亮度(50表示白平衡的狀態(tài))
camera.shutter_speed = 6000000 # 相機快門速度
camera.iso = 800 # ISO標(biāo)準(zhǔn)實際上就是來自膠片工業(yè)的標(biāo)準(zhǔn)稱謂,ISO是衡量膠片對光線敏感程度的標(biāo)準(zhǔn)。如50 ISO, 64 ISO, 100 ISO表示在曝光感應(yīng)速度上要比高數(shù)值的來得慢,高數(shù)值ISO是指超過200以上的標(biāo)準(zhǔn),如200 ISO, 400 ISO
camera.framrate = 32 #這里可能用的Fraction是一個分?jǐn)?shù)模塊來存儲分?jǐn)?shù)1/6,保證分?jǐn)?shù)運算的精度(記得調(diào)用模塊:from fractions import Fraction)
camera.hflip = Ture # 是否進(jìn)行水平翻轉(zhuǎn)
camera.vflip = False #是否進(jìn)行垂直翻轉(zhuǎn)
camera.rotation = 0 #是否對圖像進(jìn)行旋轉(zhuǎn)
camera.resolution = (280,160) #設(shè)置圖像的width和height
ISO參數(shù)介紹:
? ?感光度,英文名稱為?International Organization for Standardization (ISO),說到相機中的ISO參數(shù)不得不提一下膠片速度(Film Speed)。膠片速度是感光膠片對光敏感度的度量。相對而言靈敏度差的膠片,對應(yīng)一個低速的索引值,這樣就會需要對光進(jìn)行更長的曝光來達(dá)到高靈敏膠片的效果,因此稱之為低速膠片,高靈敏的膠片稱之為高速膠片,設(shè)置的范圍ISO100到ISO28000。
ISO調(diào)節(jié)的實驗結(jié)果(測試條件:Frame_Rate=32 快門速度shutter_speed=6000000 飽和度saturation = 100 圖像亮度brightness = 50)
Shutter參數(shù)介紹:
? ? 快門,英文名稱為Shutter,快門是相機上控制感光片有效曝光時間的一種裝置。快門的工作原理是這樣的,為了保護(hù)相機內(nèi)的感光器件,不至于曝光,快門總是關(guān)閉的;拍攝時,調(diào)整好快門速度后,只要按住照相機的快門釋放鈕(也就是拍照的按鈕),在快門開啟與閉合的間隙間,讓通過攝影鏡頭的光線,使照相機內(nèi)的感光片獲得正確的曝光,光穿過快門進(jìn)入感光器件,寫入記憶卡。快門速度一般的表示方法是1/100s、1/30s、2s。
Shutter調(diào)節(jié)的實驗結(jié)果(測試條件:Frame_Rate=32 ISO感光度=800 飽和度saturation = 100圖像亮度brightness = 50)
Saturation參數(shù)介紹:
? ? 所謂的飽和度,指的其實是色彩的純度,純度越高,表現(xiàn)越鮮明,純度較低,表現(xiàn)則較黯淡,色飽和度表示光線的彩色深淺度或鮮艷度,取決于彩色中的白色光含量,白光含量越高,即彩色光含量就越低,色彩飽和度即越低,反之亦然。saturation的取值范圍是 0-100之間。
Saturation調(diào)節(jié)的實驗結(jié)果(測試條件:Frame_Rate=32 快門速度shutter_speed=6000000?ISO感光度=800 圖像亮度brightness = 50)?
Brightness亮度參數(shù)介紹:
? ?色彩亮度(“Color Brightness”)的新標(biāo)準(zhǔn)將用來測量色彩的光輸出情況,評價攝像機的色彩表現(xiàn),用戶可根據(jù)此標(biāo)準(zhǔn)的規(guī)格來更好地了解產(chǎn)品性能。?設(shè)置的范圍是0-100之間,50表示的是白平衡狀態(tài)。
Brightness調(diào)節(jié)的實驗結(jié)果(測試條件:Frame_Rate=32 ISO感光度=800 飽和度saturation = 100圖像亮度brightness = 50)
光圈參數(shù)介紹: (樹莓派相機的參數(shù)中似乎光圈的大小是固定的,不可以調(diào)節(jié),這里列出來記錄,方便后面的使用和理解)
? ?光圈英文名稱為Aperture,光圈是一個用來控制光線透過鏡頭,進(jìn)入機身內(nèi)感光面的光量的裝置,它通常是在鏡頭內(nèi),光在通過鏡頭某個位置的多片金屬葉片(收攏之后)則能在鏡頭上就控制光線進(jìn)入的量。我們平時所說的光圈值 F2.8、F8、F16等是光圈“系數(shù)”,是相對光圈,并非光圈的物理孔徑,與光圈的物理孔徑及鏡頭到感光器件(膠片或CCD或CMOS)的距離有關(guān)。
簡單相機的結(jié)構(gòu)圖:
相關(guān)參數(shù)的設(shè)置技巧:
1、ISO感光度的設(shè)置技巧
- 一般白天光線充足的情況ISO是100到200。
- 在黑暗的條件下(如下雨天),ISO調(diào)到300-400,比較暗調(diào)到800,燈光非常暗(太陽下山后),調(diào)到1000以上,拍夜景(如夜間慶典、演唱會)調(diào)到1600以上。
- ISO調(diào)到越高,拍出來的照片噪點就越多,所以ISO不是越高越好,只是在光線不足的情況下使用,并且盡可能調(diào)低ISO數(shù)值。
2、快門速度的設(shè)置技巧
- 一般情況下,正常快門速度是在60分之一秒到80分之一秒。
- 拍攝行人、陰天或者日落時候的運動對象快門速度1/125秒。
- 拍攝高速運動的物體或畫面,快門速度360/1秒~600/1秒,如拍打籃球的畫面。
- 拍攝下落的水滴需要1/1000秒。
- 拍綢緞感的流水,或者夜景汽車燈河用慢速快門。
- 拍運動定格用快速快門。
- 室外光線條件好,則快門可以較快,光線暗則要放慢快門速度。
- 快門數(shù)一般是沒用常用的,你要是想設(shè)置為默認(rèn)快門,那么就是用A檔或是自動擋吧!只有這兩個檔位是默認(rèn)快門數(shù)。像S檔和M檔都是可以設(shè)置快門速度的。
備注: 使用攝像頭的過程中如果遇到如下的錯誤說明已經(jīng)有進(jìn)程調(diào)用了Raspberry的攝像頭了,硬件已經(jīng)被占用,所以不能啟動攝像頭。
這個時候你只需要關(guān)閉對應(yīng)調(diào)用攝像頭的進(jìn)程,釋放攝像頭的資源就可以繼續(xù)使用了。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? 未完待續(xù)~
Raspiberry Camera詳解+picamera庫+Opencv控制
標(biāo)簽:曝光???原理???說明???initial???blank???靈敏度???loop???col???輸出???
原文地址:http://www.cnblogs.com/uestc-mm/p/7606855.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

