AVFoundation(一) - 捕捉會話&設(shè)備

AVFoundation

  • 捕捉會話 AVCaptureSession

  • 捕捉設(shè)備 AVCaptureDevice

  • 捕捉設(shè)備輸入 AVCaptureDeviceInput

  • 捕捉設(shè)備輸出 AVCaptureOutput 抽象類

    • AVCaptureStillImageOutput
    • AVCaptureMovieFileOutput
    • AVCaptureAudioDataOutput
    • AVCaptureVideoDataOutput
  • 捕捉連接 AVCaptureConnection

  • 捕捉預(yù)覽 AVCaptureVideoPreviewLayer

設(shè)置Session

  • 初始化
  • 設(shè)置分辨率
  • 配置輸入設(shè)備(AVCaptureDeviceInput)
    • 音頻輸入 視頻輸入
  • 配置輸出(靜態(tài)圖像輸出 視頻文件輸入)
  • 判斷是否可以添加輸入輸出(攝像頭并不屬于任何一個app,屬于公共資源)

隱私權(quán)限申請

  • 通訊錄 - Contacts Usage Description
  • 麥克風
  • 相冊
  • 相機
  • 地理位置
  • 使用期間訪問地理位置
  • 日歷
  • 注意事項
  • 藍牙

其他操作

  • 切換前后攝像頭
  • 捕捉設(shè)備(聚焦/曝光)
  • device修改 (閃光燈/手電筒)

QuickTime

  • AVCaptureMovieFileOutput定義了方法將QuickTime影片捕捉到磁盤

    • 錄制到最長時限 或 錄制到特定文件大小時為止

    • 配置成保留最小可用磁盤空間

  • 通常當QuickTime影片準備發(fā)布時,影片頭的元數(shù)據(jù)處于文件的開始位置,這樣可以

    讓視頻播放器快速讀取頭包含的信息,來確定文件的內(nèi)容、結(jié)構(gòu)和其包含的多個樣本

    的位置

  • 不過 當錄制一個QuickTime影片時,直到所有的樣片都完成捕捉后才成創(chuàng)建信息頭,

    當錄制結(jié)束時,創(chuàng)建頭數(shù)據(jù)并將它附在文件結(jié)尾處

image.png
  • 將創(chuàng)建頭的過程放在所有影片樣本完成捕捉之后 存在一個問題

    • 如遇到崩潰或中斷,像電話撥入,影片頭就不會被正確寫入,這樣就會在次盤生成一個不可讀的影片文件
  • AVCaptureMovieFileOutput提供了一個核心功能就是分段捕捉QuickTime影片

image.png
  • 當錄制開始時,在文件最前面寫入一個最小化的頭信息,隨著錄制的進行,片段按照一定的周期寫入,創(chuàng)建完整的頭信息。默認每10秒寫入一個片段,可以通過 movieFragentInterval來修改。這樣就逐步創(chuàng)建了完整的QuickTime影片頭。

人臉識別

  • 大概的技術(shù)分類

    CoreImage

    face++

    OpenCV

    libefacedetection (c++)

    AVFoundation

    vision

  • 流程

  1. 視頻采集
  2. 為session添加metadata數(shù)據(jù)輸出 AVCaptureMetadataOutput
  3. 設(shè)置metadata范圍(人臉數(shù)據(jù)、二維碼、條碼.....)
  4. 開始捕捉(設(shè)置捕捉完成代理)AVCaptureMetadataOutputObjectsDelegate
  5. 獲取捕捉人臉相關(guān)信息
  6. 對人臉數(shù)據(jù)處理
image.png
  • 歐拉角

    • yaw - y軸旋轉(zhuǎn)的角度 偏移
    • Pitch - x軸旋轉(zhuǎn)的角度 投擲、傾斜、墜落
    • Roll - z周旋轉(zhuǎn)的角度 轉(zhuǎn)動

    或者直觀感受下

    yaw就是 搖頭

    Pitch 就是點頭

    Roll 就是左右搖擺

  • 歐拉角中的旋轉(zhuǎn)

image.png

二維碼識別

CoreImage -> CIDetector / CIFiter

  • QR碼

  • Aztec碼: 登機牌

  • PDF417: 商品運輸

人臉識別 二維碼識別代碼實現(xiàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容