樹莓派相機設定

使用樹莓派的攝像頭,將樹莓派自身提供的picamera的API數據轉換爲Python Oencv可用圖像數據:ide

# 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對象的相關內容:oop

一、首先使用picamera模塊當中的PiCamera方法建立返回一個camera的對象:性能

camera = PiCamera()

二、初始化camera對象當中的相關參數:測試

camera.saturation = 80 # 設置圖像視頻的飽和度
camera.brightness = 50 # 設置圖像的亮度(50表示白平衡的狀態)
camera.shutter_speed = 6000000 # 相機快門速度
camera.iso = 800 # ISO標準實際上就是來自膠片工業的標準稱謂,ISO是衡量膠片對光線敏感程度的標準。如50 ISO, 64 ISO, 100 ISO表示在曝光感應速度上要比高數值的來得慢,高數值ISO是指超過200以上的標準,如200 ISO, 400 ISO
camera.framrate = 32 #這裏可能用的Fraction是一個分數模塊來存儲分數1/6,保證分數運算的精度(記得調用模塊:from fractions import Fraction)
camera.hflip = Ture # 是否進行水平翻轉
camera.vflip = False #是否進行垂直翻轉
camera.rotation = 0 #是否對圖像進行旋轉
camera.resolution = (280,160) #設置圖像的width和height

ISO參數介紹:code

   感光度,英文名稱爲 International Organization for Standardization (ISO),說到相機中的ISO參數不得不提一下膠片速度(Film Speed)。膠片速度是感光膠片對光敏感度的度量。相對而言靈敏度差的膠片,對應一個低速的索引值,這樣就會須要對光進行更長的曝光來達到高靈敏膠片的效果,所以稱之爲低速膠片,高靈敏的膠片稱之爲高速膠片,設置的範圍ISO100到ISO28000。
orm

ISO調節的實驗結果(測試條件:Frame_Rate=32 快門速度shutter_speed=6000000 飽和度saturation = 100 圖像亮度brightness = 50)視頻

技術分享

Shutter參數介紹:對象

    快門,英文名稱爲Shutter,快門是相機上控制感光片有效曝光時間的一種裝置。快門的工做原理是這樣的,爲了保護相機內的感光器件,不至於曝光,快門老是關閉的;拍攝時,調整好快門速度後,只要按住照相機的快門釋放鈕(也就是拍照的按鈕),在快門開啓與閉合的間隙間,讓經過攝影鏡頭的光線,使照相機內的感光片得到正確的曝光,光穿過快門進入感光器件,寫入記憶卡。快門速度通常的表示方法是1/100s、1/30s、2s。blog

Shutter調節的實驗結果(測試條件:Frame_Rate=32 ISO感光度=800 飽和度saturation = 100圖像亮度brightness = 50)索引

技術分享

Saturation參數介紹:

    所謂的飽和度,指的實際上是色彩的純度,純度越高,表現越鮮明,純度較低,表現則較黯淡,色飽和度表示光線的彩色深淺度或鮮豔度,取決於彩色中的白色光含量,白光含量越高,即彩色光含量就越低,色彩飽和度即越低,反之亦然。saturation的取值範圍是 0-100之間。

Saturation調節的實驗結果(測試條件:Frame_Rate=32 快門速度shutter_speed=6000000 ISO感光度=800 圖像亮度brightness = 50) 

技術分享

Brightness亮度參數介紹:

   色彩亮度(「Color Brightness」)的新標準將用來測量色彩的光輸出狀況,評價攝像機的色彩表現,用戶可根據此標準的規格來更好地瞭解產品性能。 設置的範圍是0-100之間,50表示的是白平衡狀態。

Brightness調節的實驗結果(測試條件:Frame_Rate=32 ISO感光度=800 飽和度saturation = 100圖像亮度brightness = 50)

技術分享

光圈參數介紹:(樹莓派相機的參數中彷佛光圈的大小是固定的,不能夠調節,這裏列出來記錄,方便後面的使用和理解)

   光圈英文名稱爲Aperture,光圈是一個用來控制光線透過鏡頭,進入機身內感光面的光量的裝置,它一般是在鏡頭內,光在經過鏡頭某個位置的多片金屬葉片(收攏以後)則能在鏡頭上就控制光線進入的量。咱們平時所說的光圈值 F2.八、F八、F16等是光圈「係數」,是相對光圈,並不是光圈的物理孔徑,與光圈的物理孔徑及鏡頭到感光器件(膠片或CCD或CMOS)的距離有關。

簡單相機的結構圖:

技術分享

相關參數的設置技巧:

一、ISO感光度的設置技巧

  • 通常白天光線充足的狀況ISO是100到200。
  • 在黑暗的條件下(以下雨天),ISO調到300-400,比較暗調到800,燈光很是暗(太陽下山後),調到1000以上,拍夜景(如夜間慶典、演唱會)調到1600以上。
  • ISO調到越高,拍出來的照片噪點就越多,因此ISO不是越高越好,只是在光線不足的狀況下使用,而且儘量調低ISO數值。

二、快門速度的設置技巧

  • 通常狀況下,正常快門速度是在60分之一秒到80分之一秒。
  • 拍攝行人、陰天或者日落時候的運動對象快門速度1/125秒。
  • 拍攝高速運動的物體或畫面,快門速度360/1秒~600/1秒,如拍打籃球的畫面。
  • 拍攝下落的水滴須要1/1000秒。
  • 拍綢緞感的流水,或者夜景汽車燈河用慢速快門。
  • 拍運動定格用快速快門。
  • 室外光線條件好,則快門能夠較快,光線暗則要放慢快門速度。
  • 快門數通常是沒用經常使用的,你要是想設置爲默認快門,那麼就是用A檔或是自動擋吧!只有這兩個檔位是默認快門數。像S檔和M檔都是能夠設置快門速度的。

備註:使用攝像頭的過程當中若是遇到以下的錯誤說明已經有進程調用了Raspberry的攝像頭了,硬件已經被佔用,因此不能啓動攝像頭。

技術分享這個時候你只須要關閉對應調用攝像頭的進程,釋放攝像頭的資源就能夠繼續使用了。

相關文章
相關標籤/搜索