CoreImage 自动增强滤镜 以及 系统滤镜查询

Core Image的自动增强特性分析一幅图像的histogram(直方图),人脸区域内容,和元数据属性。然后它返回一个CIFiter数组,其中的CIFiter的输入参数都已经设好值,为改善被分析的图像。
1、Auto Enhancement Filters:
下面列出了Core Image使用的用来自动增强图像的filters,这些filters补救一些在图片中最常用的issue。
1)CIRedEyeCorrection filter:用来修改red/amber(琥珀色)/white eye due to camera flash
2) CIFaceBalance filter:用来调整人脸的颜色
3)CIVibrance Filter:用来增加没有变形skin tones的图像的饱和度
4)CIToneCurve filter:用来调整图像的对比度
5)CIHighlightShadowAdjust filter:用来调整shadow details。

2、使用Auto Enhancement Filters:
只有2个方法:autoAdjustmentFilters和autoAdjustmentFiltersWithOptions:。在大多数情况下,你会使用一个options字典。
你可以这样设置options:
1)image的方向,这对CIRedEyeCorrection和CIFaceBalance filter很重要。
2)是否只应用red eye correction:设置kCIImageAutoAdjustEnhance为NO。
3)是否应用除了red eye correction之外的所有filters:设置kCIImageAutoAdjustRedEye为NO。

autoAdjustmentFiltersWithOptions:方法返回一组options filters,然后你将使用这些filters chain together,并应用到image。如下例所示:

NSDictionary *options = [NSDictionary dictionaryWithObject: [[image properties] valueForKey:kCGImagePropertyOrientation] forKey:CIDetectorImageOrientation]];
NSArray *adjustments = [myImage autoAdjustmentFiltersWithOptions:options];
for (CIFilter *filter in adjustments){
     [filter setValue:myImage forKey:kCIInputImageKey];
     myImage = filter.outputImage;
}

查询系统滤镜:

 (系统文档写的特别清楚,包括各种滤镜的参数)

原文地址:https://www.cnblogs.com/grq186/p/4603112.html