關于Core Image
Core Image是一種圖像處理和分析技術,旨在為靜態和視頻圖像提供近實時處理。它使用GPU或CPU渲染路徑,對Core Graphics,Core Video和Image I / O框架中的圖像數據類型進行操作。Core Image通過提供易于使用的應用程序編程接口(API)隱藏了低級圖形處理的細節。不需要了解OpenGL,OpenGL ES或Metal的細節來充分利用GPU的強大功能,也無需了解Grand Central Dispatch(GCD)以獲得多核處理的優勢。Core Image為您處理細節。
圖I-1 Core Image在操作系統中的關系
Core Image粗略
Core Image框架提供:
- 訪問內置圖像處理濾鏡
- 特征檢測功能
- 支持自動圖像增強
- 將多個濾鏡鏈接在一起以創建自定義效果的功能
- 支持創建在GPU上運行的自定義濾鏡
- 基于反饋的圖像處理功能
在macOS上,Core Image還提供了一種打包自定義濾鏡以供其他應用程序使用的方法。
Core Image高效且易于用于處理和分析圖像
Core Image提供數百種內置濾鏡。您可以通過為濾鏡的輸入參數提供鍵值對來設置濾鏡。一個濾鏡的輸出可以是另一個濾鏡的輸入,從而可以將多個濾鏡鏈接在一起以產生驚人的效果。如果創建要再次使用的復合效果,則可以將CIFilter子類化以捕獲特效“recipe”。
有十幾種類別的濾鏡。有些旨在實現藝術效果,例如風格化和半色調濾鏡類別。其他的最適合修復圖像問題,例如顏色調整和銳化濾鏡。
Core Image可以分析圖像的質量,并提供一組具有最佳設置的濾鏡,用于調整色相,對比度和色調等內容,以及校正閃光瑕疵(如紅眼)。它通過一個方法調用完成所有這一切。
Core Image可以檢測靜止圖像中的人臉特征,并在視頻圖像中隨時間跟蹤它們。了解面部的位置可以幫助您確定放置小插圖的位置或應用其他特殊濾鏡。
查詢Core Image以獲取濾鏡及其屬性列表
Core Image為其濾鏡提供了“內置”參考文檔。您可以查詢系統以找出可用的過濾器。然后,對于每個濾鏡,您可以檢索包含其屬性的字典,例如其輸入參數,默認參數值,最小值和最大值,顯示名稱等。
Core Image可以優化實時視頻處理性能
如果您的應用需要實時處理視頻,您可以采取一些措施來優化性能。
使用Image Accumulator支持基于反饋的處理
CIImageAccumulator類專為高效的基于反饋的圖像處理而設計,如果您的應用需要對動態系統進行成像,您可能會覺得這很有用。
創建和分發自定義內核和濾鏡
如果內置濾鏡都不適合您的需求,即使鏈接在一起,也可以考慮創建自定義濾鏡。您需要了解在像素級別運行的內核程序 - 因為它們是每個濾鏡的核心。
在macOS中,您可以將一個或多個自定義濾鏡打包為圖像單元,以便其他應用程序可以加載和使用它們。