![图像视频滤镜与人像美颜美妆算法详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/287/33831287/b_33831287.jpg)
2.6 “美图秀秀”中的阿宝色滤镜算法与实现
本节属于本章内容的实战,也是本书第一场实战练习。在早期的“美图秀秀”软件中,有一款阿宝色滤镜,效果很受大家喜爱,如图2.24所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_117_2.jpg?sign=1739269008-RcUioOxU7JoBlpcHhUFg5reVptaBD1bj-0-4be8bcb52cbfd4b6c81cc5cd285eea81)
图2.24 阿宝色滤镜的效果
本节就针对这一款滤镜,使用我们前面所学内容进行实战演练。
· 效果分析
首先,我们分析这款滤镜的效果特点:
(1)绿色转换为了蓝色。
(2)淡红色或者浅红色转换为了玫瑰红色。
(3)画面没有发生几何形变或者像素位置的偏移。
然后,我们对上述三个特点进行分析,得到如下结论:
(1)该滤镜做了颜色变换,也就是使用了颜色滤镜。
(2)该滤镜没有使用任何几何滤镜叠加。
最后,我们总结可知,这个效果仅仅属于一款颜色滤镜。
· 算法实现
有了上面的分析与总结,我们首先使用PS来进行滤镜效果的模拟,具体操作步骤如下:
(1)在 PS中打开测试图,复制图层,选择“图像”→“模式”→“Lab颜色”命令,进入Lab颜色模式,如图2.25(a)所示。
(2)选中a通道,进行曲线调节,如图2.25(b)所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_118_1.jpg?sign=1739269008-aFoIfu3C6sPMtU3I1Ug9exG2FdEJsFIV-0-57720df508d227016a486ef54125530b)
图2.25 阿宝色效果制作步骤1和步骤2
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_119_1.jpg?sign=1739269008-hZCrBVGW7MsvT1GV2HBMVB3xc6JSHkNo-0-5d1147d928c8851160e98eb1b67514e6)
图2.25 阿宝色效果制作步骤1和步骤2(续)
(3)复制a通道,粘贴到b通道,然后转换为RGB颜色模式,如图2.26所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_119_2.jpg?sign=1739269008-MWT9eM1xbtCZax0MMWbjgosDBK4Ovzwa-0-d09b98d9988562c7010a6c33a7d25ebc)
图2.26 阿宝色效果制作步骤3
(4)调节曲线,得到最终效果图,如图2.27所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_120_1.jpg?sign=1739269008-AWSp3LIa7tSCFtLnNQtZl9STba51hUMA-0-c5d4b4871476ccbeafd40171bb3a983b)
图2.27 阿宝色效果制作步骤4
经过上述几步操作,我们最后得到的阿宝色效果如图 2.27 下方图所示。这种滤镜对于风景或者人像远景照片,都有着较好的效果,因此深受摄影爱好者的欢迎。有了上述实现步骤,我们就可以进行图像算法的开发了。
在算法开发环节,由于上述阿宝色效果是单纯的颜色滤镜,而且使用了曲线调节等操作,如果我们没有PS的曲线调节代码,那么可以直接选择LUT颜色滤镜来实现,步骤如下:
(1)将经典LUT导入PS。
(2)按照在PS中制作阿宝色效果的步骤对LUT进行调节,得到如图2.28所示的阿宝色LUT。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_121_1.jpg?sign=1739269008-pmZd56j4XfCMAWNOlVGq5ZbpGJGT0rpN-0-c96171b79c5aafa734031cc6c74f149e)
图2.28 阿宝色LUT(左图为原表,右图为阿宝色LUT)
(3)使用LUT滤镜代码实现阿宝色滤镜效果,如图2.29所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_121_2.jpg?sign=1739269008-yzlDiqsS7oBhzZSb6byuNhwHh3c0VGuE-0-93625e7de9c67a4f855ca090433c04a9)
图2.29 阿宝色效果图
· 代码编程
我们使用C#上层调用C算法API的模式来实现,C代码如下:
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_122_1.jpg?sign=1739269008-1P4HY4ncF8txMc3a0YhnXdHtUjOMgLb8-0-342961c6d09a2a312a028fd86f802001)
上层C#工程代码如下:
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_122_2.jpg?sign=1739269008-AYtQ6fYK0wZvLyYBf9HcO082R1v6NGVa-0-5f5b8ccd4030870930b2f373561d9bee)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_123_1.jpg?sign=1739269008-aewtXvzLXcIWIMMJEWXMD91G9NgJirZ1-0-96138bb29265d317c7e9394a799e4010)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_124_1.jpg?sign=1739269008-zeDBHXWLKSsE6KqnYUwB4ElO8tl2MbmK-0-7434f6c745a75aefaf6da54bbf5a4b88)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_125_1.jpg?sign=1739269008-FXioSHHamE64CO4bFGNedC7A2uMu7XS4-0-6363c285cf2b386af024f0a510179e13)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_126_1.jpg?sign=1739269008-jW5CJIhOfMb3SRwruG4a22uBkzGoIKOn-0-d9e217518b089c6aa78b0bca50faea81)
这就是整个阿宝色滤镜的开发过程,如果想把算法移植到手机端,那么只需把 C 代码编译成 iOS或者 Android对应的库即可。阿宝色滤镜无论是以前还是现在,都比较受大家的欢迎,因为它总能给人一种红蓝相间的独特风格,让我们看到一个不一样的世界。
本节所有代码工程及DEMO见代码包中2.6文件夹中的文件。