版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.01.28 |
前言
Core Image是IOS5中新加入的一个框架,里面提供了强大高效的图像处理功能,用来对基于像素的图像进行操作与分析。还提供了很多强大的滤镜,可以实现你想要的效果,下面我们就一起解析一下这个框架。感兴趣的可以参考上面几篇。
1. Core Image框架详细解析(一) —— 基本概览
2. Core Image框架详细解析(二) —— Core Image滤波器参考
3. Core Image框架详细解析(三) —— 关于Core Image
4. Core Image框架详细解析(四) —— Processing Images处理图像(一)
5. Core Image框架详细解析(五) —— Processing Images处理图像(二)
6. Core Image框架详细解析(六) —— 图像中的面部识别Detecting Faces in an Image(一)
自动增强图像
Core Image的自动增强功能分析图像的直方图,人脸区域内容和元数据属性。 然后它返回一个CIFilter对象的数组,其输入参数已被设置为将改善分析图像的值。
iOS v5.0及更高版本和OS X v10.8及更高版本均提供自动增强功能。
Auto Enhancement Filters - 自动增强滤波器
Table 3-1显示了Core Image用于自动增强图像的过滤器。 这些过滤器可以解决照片中发现的一些最常见的问题。
Using Auto Enhancement Filters - 使用自动增强滤波器
自动增强API只有两个方法:autoAdjustmentFilters和autoAdjustmentFiltersWithOptions:,在大多数情况下,您会想要使用提供选项字典的方法。
你可以设置这些选项:
- 图像的方向,这对于
CIRedEyeCorrection
和CIFaceBalance
滤镜是非常重要的,这样Core Image就可以精确地找到人脸。 - 是否只应用红眼矫正。 (将
kCIImageAutoAdjustEnhance
设置为false。) - 是否应用除红眼校正以外的所有滤镜。 (将
kCIImageAutoAdjustRedEye
设置为false。)
autoAdjustmentFiltersWithOptions:方法返回一个选项过滤器数组,然后您将链接在一起并应用于分析的图像,如Listing 3-1所示。 代码首先创建一个选项字典。 然后获取图像的方向并将其设置为keyCIDetectorImageOrientation
的值。
// Listing 3-1 Getting auto enhancement filters and applying them to an image
NSDictionary *options = @{ CIDetectorImageOrientation :
[[image properties] valueForKey:kCGImagePropertyOrientation] };
NSArray *adjustments = [myImage autoAdjustmentFiltersWithOptions:options];
for (CIFilter *filter in adjustments) {
[filter setValue:myImage forKey:kCIInputImageKey];
myImage = filter.outputImage;
}
回想一下,输入参数值已经由Core Image设置,以产生最好的结果。
您不必马上应用自动调整过滤器。 您可以保存过滤器名称和参数值供以后使用。 保存它们可以使您的应用程序稍后执行增强功能,而无需再次分析图像。
后记
本篇已结束,后面更精彩~~~