Android Camera-基礎知識篇

如今隨着音視頻的應用愈來愈多,直接使用系統原生相機進行拍照裁剪和拍視頻,已經不能知足需求了。
須要經過Camera API進行自定義相機開發,知足一些複雜的業務場景,開篇先介紹Camera的基礎知識,爲後面Camera開發提供支持。html

基礎知識

Android Framework提供Camera API來實現拍照與錄製視頻的功能,目前Android有三類API,android

  • Camera 此類是用於控制設備相機的舊版 API,現已棄用,在Android5.0如下使用
  • Camera2 此軟件包是用於控制設備相機的主要 API,Android5.0以上使用
  • CameraX 基於Camera 2 API封裝,簡化了開發流程,並增長生命週期控制

相關開發類

  • android.hardware.camera2 控制相機的核心API,使用它能夠實現拍照和錄製視頻的功能。
  • Camera 此類是用於控制設備相機的舊版 API,現已棄用。
  • SurfaceView 此類用於向用戶呈現實時相機預覽。
  • TextureView 也是用於實時相機預覽,Android4.0以後引入
  • MediaRecorder 用於錄製視頻
  • Intent MediaStore.ACTION_IMAGE_CAPTURE 或 MediaStore.ACTION_VIDEO_CAPTURE 的 Intent 操做類型可用於捕獲圖像或視頻,而無需直接使用 Camera 對象。

術語

  1. ISO(感光度) CMOS(或膠捲)對光線的敏感程度,用ISO100的膠捲,相機2秒能夠正確曝光的話,一樣光線條件下用ISO200的膠捲只須要1秒便可,用ISO400則只要0.5秒。
    常見的標準:ISO100,ISO200,ISO400
  2. 曝光時間 曝光時間是爲了將光投射到相機感光片上,相機快門所要打開相當閉的時間
  3. 光圈 用來控制光線透過鏡頭,進入相機內感光面光量的裝置
  4. 焦距 指的是平行的光線穿過鏡片後,所聚集的焦點至鏡片間之距離。
    數值越小,表明能夠拍攝的角度越廣,數值越大,表明能夠拍攝的角度越小
  5. 景深 拍攝時,當鏡頭彙集於某個被攝體時,這個被攝體就能在相機上結成清晰影像。使被攝體產生較爲清晰影像的縱深的範圍叫景深
  6. 測光 測光模式:中央平均測光(average metering)、中央局部測光、點測光(spot metering)、多點測光、評價測光
  7. 自動曝光(Auto Exposure) 相機根據光線條件自動來調整曝光時間等來肯定曝光量
  8. 對焦 對焦模式:自動對焦 AE(Auto Focus)、手動對焦 MF(Manual Focus)
    自動對焦分爲對比度對焦(contrast)、相位對焦(PDAF: Phase Detection Auto Focus)和混合對焦(hybrid)
  9. 閃光燈(Flashlight) 經過閃光燈打閃照亮物體來達到拍出清晰圖片的目的
  10. ScreenFlash 經過屏幕打閃,照亮周圍物體,拍出高清圖片
  11. 高動態範圍圖像(HDR) HDR全稱是High-Dynamic Range,即高動態範圍圖像技術。在拍照過程當中開啓HDR,可讓原先的暗場景變得更明亮更通透。
  12. 零延時拍照(ZSD) 爲了減小拍照延時,讓拍照&回顯瞬間完成的一種技術
  13. 連拍(ContinuousShot) 經過節約數據傳輸時間來捕捉攝影時機
  14. 預覽大小(PreviewSize) 相機預覽圖片的大小
  15. 拍照大小(PictureSize) 拍照生成圖片的大小
  16. 自動白平衡(Auto white balance) AWB(Auto white balance),自動白平衡是相機的默認設置,相機中有一結構複雜的矩形圖,它可決定畫面中的白平衡基準點,以此來達到白平衡調校
  17. 對比度 圖像最亮和最暗之間的區域之間的比率,比值越大,從黑到白的漸變層次就越多,從而色彩表現越豐富
  18. 飽和度 指色彩的鮮豔程度
  19. 銳度 是反映圖像平面清晰度和圖像邊緣銳利程度的一個指標

相機功能

Android 支持多種相機功能,您可以使用相機應用控制這些功能,如圖片格式、閃光模式、對焦設置等等。
經過Camera.Parameters能夠設置大部分的功能,下面介紹幾個重要功能:post

  • 區域測光和對焦
  • 人臉檢測
  • 延時視頻

區域測光和對焦

從 Android 4.0(API 級別 14)開始,經過Camera.Parameters來肯定對焦或亮度設置的區域,而後進行拍照或者錄像google

人臉檢測

這個和真正的人臉識別是不同的 ,這裏僅僅是檢測人臉。
經過照片分析,檢測照片中是否包含人臉,使用人臉識別技術來識別人臉並計算照片設置code

延時視頻

延時視頻功能容許用戶將間隔幾秒鐘或幾分鐘拍攝的圖片串聯起來,建立視頻剪輯。使用MediaRecorder錄製時間流逝片斷的圖像。cdn

其餘重要功能API: 視頻

功能API

參考

相關文章
相關標籤/搜索