Core Image 能通过分析图片的各个属性,人脸的区域等进行自动优化图片。我们只需要调用 autoAdjustmentFiltersWithOptions 这个API方法获取各个自动增强滤镜来优化图片即可。不管是人物照片还是风景照均可增强效果。

(以前另外还有个叫autoAdjustmentFilters的方法,现已废除。)
1,具体使用的滤镜如下:
(1)CIRedEyeCorrection:修复因相机的闪光灯导致的各种红眼
(2)CIFaceBalance:调整肤色
(3)CIVibrance:在不影响肤色的情况下,改善图像的饱和度
(4)CIToneCurve:改善图像的对比度
(5)CIHighlightShadowAdjust:改善阴影细节

2,autoAdjustmentFiltersWithOptions方法参数说明(字典类型):

(1)CIDetectorImageOrientation提供图像方向:使Core Image能更精确的定位到脸的位置,对CIRedEyeCorrection和CIFaceBalance滤镜很有用。
(2)kCIImageAutoAdjustEnhance设为false :只需要消除红眼,不要其他滤镜
(3)kCIImageAutoAdjustRedEye设为false :消除红眼不要,其他滤镜都要
3,效果图如下(右侧为优化后的):
4,代码如下(所有滤镜都使用):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import UIKit
class ViewControllerUIViewController{
     
    @IBOutlet weak var imageView: UIImageView!
     
    //图片原图
    lazy var originalImage: UIImage = {
        return UIImage(named: "IMG_0473.jpg")
    }()!
     
    lazy var context: CIContext = {
        return CIContext(options: nil)
        }()
     
    override func viewDidLoad() {
        super.viewDidLoad()
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
     
    //优化图片
    @IBAction func autoAdjustImage(sender: AnyObject) {
        var inputImage = CIImage(image: originalImage)
        let options:[String AnyObject] = [CIDetectorImageOrientation:1] //图片方向
        let filters = inputImage!.autoAdjustmentFiltersWithOptions(options)
        //遍历所有滤镜,依次处理图像
        for filterCIFilter in filters {
            filter.setValue(inputImage, forKey: kCIInputImageKey)
            inputImage = filter.outputImage
        }
        let cgImage = context.createCGImage(inputImage!, fromRect: inputImage!.extent)
        self.imageView.image = UIImage(CGImage: cgImage)
    }
     
    //还原图片
    @IBAction func resetImage(sender: AnyObject) {
         self.imageView.image = originalImage
    }
}

原文出自: www.hangge.com   转载请保留原文链接: http://www.hangge.com/blog/cache/detail_902.html

swift- 优化照片 滤镜相关推荐

  1. on1 effects 2021(照片滤镜调色软件) v15.0.1.9783

    on1 effects 2021是由ON1公司推出的一款功能强大的照片滤镜调色软件,该软件采用最新的一代的RAW档高速处理引擎,可以完美兼容目前主流计算机架构,并且软件内置一个超大特效滤镜库,里面包含 ...

  2. 4.10 使用照片滤镜命令修改图像色温和色调 [原创Ps教程]

    原文:http://coolketang.com/staticPhotoshop/5a98d43c128fe1189bd95157.html 1. 本节课程将为您演示,如何使用[照片滤镜]命令,调整图 ...

  3. Photoshop CS 中的“照片滤镜/Photo Filter”命令详解(转)

    Photoshop CS 中的"照片滤镜/Photo Filter"命令详解(转)[@more@] 这是一个跟摄影有关的重要图像调整命令. 有关这一命令的教程,现在网上没一个能说得 ...

  4. 照片滤镜怎么调好看?介绍几个简单的调色方法

    照片滤镜怎么调好看?我们常说阳光是最好的滤镜,然而并不是没有都有好天气,我们总是会遇到一些阴雨天气.光线不好的时候拍摄出来的图片往往没有那么好看,这个时候我们就需要借助一些技术手段来帮助我们还原照片的 ...

  5. Nevercenter CameraBag Pro for mac(照片滤镜工具)

    Nevercenter CameraBag Pro for mac版是mac上一款相当优秀的实用型照片滤镜工具,超直观的工具,用于过滤和编辑照片和视频.适用于MacOS和Windows.它的功能全面, ...

  6. ON1 Effects 2018 for Mac 12.1.1 照片滤镜 摄影特效 破解版下载

    ON1 Effects 2018 for Mac 12.1.1 照片滤镜 摄影特效 破解版有数百个可堆叠滤波器,预设等等!添加样式是将您定义为摄影师的一部分.ON1 Effects 2018包括数百个 ...

  7. 实用的照片滤镜软件:CameraBag Photo Classic for Mac

    CameraBag Photo Classic for Mac是一款优秀的照片滤镜软件,CameraBag Photo Classic mac版中提供了丰富的高品质可调滤镜,比如黑白效果.复古效果.胶 ...

  8. Luminar Flex for Mac破解版(照片滤镜增强工具)

    Luminar Flex for Mac是一款新推出的照片滤镜增强工具,可让摄影师在使用其他公司的编辑软件时利用Luminar的功能,Luminar Flex插件可以作为独立应用程序,也可以作为插件使 ...

  9. Photoshop脚本 照片滤镜的使用

    源自:http://coolketang.com/tutorials/menu3lesson7.php 本节将演示如何使用脚本,来调用系统的[照片滤镜]功能.首先创建一个空白的脚本文档,并保存在硬盘上 ...

  10. CameraBag Photo for Mac v2021.4.0 – 视频照片滤镜

    CameraBag Pro for Mac 是一款出色的视频照片滤镜,包含200多个完全可定制的调色预设.可以让您立即将数百个美丽预设中的一个应用到您的照片和视频中,然后通过超直观的专业调整和自定义预 ...

最新文章

  1. 2017-09-29 前端日报
  2. 快速更换一个国内的yum源
  3. 不用任何程序就可锁住和隐藏你的文件
  4. Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
  5. Webpack4干货分享(二),使用loader处理scss,图片以及转换JS
  6. android音乐播放器文章,Android复习09【内容提供者、音乐播放器】
  7. 大战设计模式【12】—— 迭代器模式
  8. nodejs通过响应回写的方式渲染页面资源
  9. Perl命令行常见用法及技巧
  10. Tensorflow报错_np_qint8 = np.dtype([(“qint8“, np.int8, 1)])
  11. 《java数据结构与算法》系列之“开篇”
  12. weblogic安装部署 linuxs——wls1036版本
  13. DSP应用技术(第一章)
  14. [转贴]记那对住在我隔壁储藏室的大学刚毕业的小夫妻
  15. python什么表示空类型_在 Python 中 __________ 表示空类型。 (2.0分)_学小易找答案
  16. 511遇见易语言文本处理寻找文本
  17. How long have you been studying English(第一节)
  18. 启动virtualbox虚拟机显示Attempted to kill the idle task错误
  19. ConcurrentMap
  20. 【新闻解读2019年】四分类不能准确区分所有垃圾 市民建议用更直白的名称

热门文章

  1. 半导体材料 MOOC学习记录 第十二章 II-VI族化合物半导体
  2. 神经网络方法研究及应用,神经网络优化遗传算法
  3. echarts折线图不显示y轴值_Echarts 折线图y轴标签值太长时显示不全的解决办法
  4. 数据结构51题之栈和队列18题
  5. 数据库课设之学生成绩管理系统
  6. java云盘_云盘的JAVA简单实现
  7. Tomcat、JVM 优化配置
  8. 【建议收藏|熬夜爆肝】万字文带你了解DOM,文末有彩蛋嗷!!!!✨✨✨
  9. jatoolsPrinter打印
  10. js_遍历(不同的for) for for of for in forEach 相关实例