IOS 中的CoreImage框架(framework)

  1. coreimage framework 組成

    apple 已經幫咱們把image的處理分類好,來看看它的結構:app

      主要分爲三部分:框架

        1)定義部分:CoreImage 何CoreImageDefines。見名思義,表明了CoreImage 這個框架和它的定義。spa

        2)操做部分:3d

              濾鏡(CIFliter):CIFilter 產生一個CIImage。典型的,接受一到多的圖片做爲輸入,通過一些過濾操做,產生指定輸出的圖片。blog

              檢測(CIDetector):CIDetector 檢測處理圖片的特性,如使用來檢測圖片中人臉的眼睛、嘴巴、等等。圖片

              特徵(CIFeature):CIFeature 表明由 detector處理後產生的特徵。ci

        3)圖像部分:input

              畫布(CIContext):畫布類可被用與處理Quartz 2D 或者 OpenGL。能夠用它來關聯CoreImage類。如濾鏡、顏色等渲染處理。it

              顏色(CIColor):   圖片的關聯與畫布、圖片像素顏色的處理。io

              向量(CIVector): 圖片的座標向量等幾何方法處理。

              圖片(CIImage): 表明一個圖像,可表明關聯後輸出的圖像。  

 

 

  2.  處理步驟:

    1)create a ciimage object;

    2) create a cifilter object and set input values

    3)  create a cicontext object.

    4) render the filter output image into a cgimage

    

  3.注意

    a。關注Ciimage 產生的途徑:

        1)經過URL和Data

         2)經過其餘圖片類轉換,CGImageRef或其餘圖片。

         3)經過CVpixelBufferRef。

         4)一組像素Data。

    b.  圖片顏色,KCCImageColorSpace 來重載默認顏色空間。

    c. 圖片Metadata。

    

  4. 使用濾鏡。

    CISepiaTone、CiColorControls、CIHueBlendMode。

  

處理過程:多個CImage輸入 -- 》 CIHeBlendMode  --》 CiSepiatone。

 

渲染輸出:

  

  

流程: 獲取context  -》 轉成CIimage -》 渲染成CGImageRef  -》 轉換爲UIimage -》 釋放 CGImageRef -》 使用UIImage。

 

5.臉部檢測

  自動加強: CIRedEyeCorrection  、CIFaceBalance(調整圖片來給出更好的皮膚色調)、CIVibrance(在不扭曲皮膚色調的狀況下,增長飽和度)、CIToneCurve(調整圖片對比)、高亮陰影調整。

相關文章
相關標籤/搜索