1. coreimage framework 组成

    apple 已经帮我们把image的处理分类好,来看看它的结构:IOS 中的CoreImage框架(framework)_滤镜

      主要分为三部分:

        1)定义部分:CoreImage 何CoreImageDefines。见名思义,代表了CoreImage 这个框架和它的定义。

        2)操作部分:

              滤镜(CIFliter):CIFilter 产生一个CIImage。典型的,接受一到多的图片作为输入,经过一些过滤操作,产生指定输出的图片。

              检测(CIDetector):CIDetector 检测处理图片的特性,如使用来检测图片中人脸的眼睛、嘴巴、等等。

              特征(CIFeature):CIFeature 代表由 detector处理后产生的特征。

        3)图像部分:

              画布(CIContext):画布类可被用与处理Quartz 2D 或者 OpenGL。可以用它来关联CoreImage类。如滤镜、颜色等渲染处理。

              颜色(CIColor):   图片的关联与画布、图片像素颜色的处理。

              向量(CIVector): 图片的坐标向量等几何方法处理。

              图片(CIImage): 代表一个图像,可代表关联后输出的图像。  

IOS 中的CoreImage框架(framework)_ico_02

 

 

  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。

IOS 中的CoreImage框架(framework)_二维码_03  IOS 中的CoreImage框架(framework)_coreimage_04

处理过程:多个CImage输入 -- 》 CIHeBlendMode  --》 CiSepiatone。

IOS 中的CoreImage框架(framework)_滤镜_05

 

渲染输出:

  IOS 中的CoreImage框架(framework)_滤镜_06

  

流程: 获取context  -》 转成CIimage -》 渲染成CGImageRef  -》 转换为UIimage -》 释放 CGImageRef -》 使用UIImage。

 

5.脸部检测

  自动增强: CIRedEyeCorrection  、CIFaceBalance(调整图片来给出更好的皮肤色调)、CIVibrance(在不扭曲皮肤色调的情况下,增加饱和度)、CIToneCurve(调整图片对比)、高亮阴影调整。


------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。