![图像视频滤镜与人像美颜美妆算法详解](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=1739313124-zdwmXqkqIyq32sWuw8BqL6wesvwGZED3-0-107c26f59909edd072d93416e8369eb0)
图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=1739313124-ANawB1svJlxEk0UyvIU6Ot8td4aRcsbY-0-6d419c6449d3aee235e2b94534a074f9)
图2.25 阿宝色效果制作步骤1和步骤2
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_119_1.jpg?sign=1739313124-zBRb85QvMWdkbfMx5DBgRXOoef4iwle3-0-245b8a2f968b45c15fc8b67a45c7aa1d)
图2.25 阿宝色效果制作步骤1和步骤2(续)
(3)复制a通道,粘贴到b通道,然后转换为RGB颜色模式,如图2.26所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_119_2.jpg?sign=1739313124-IQVk7Y9qvVyKFzzkStSYeRd6DOiIzAqu-0-6315925d3f134522d827a9db6edbbb36)
图2.26 阿宝色效果制作步骤3
(4)调节曲线,得到最终效果图,如图2.27所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_120_1.jpg?sign=1739313124-ithXwUL68zLS0ubF02Tmvg1ZjkpFWZcd-0-12496ff691ac469bf59bdd1fa3f393b1)
图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=1739313124-NKtEx5Ln6Z4aoKWB7zibBo5uy8JnWuyG-0-7926de8a4f19dcda7bfcecabe0e5698a)
图2.28 阿宝色LUT(左图为原表,右图为阿宝色LUT)
(3)使用LUT滤镜代码实现阿宝色滤镜效果,如图2.29所示。
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_121_2.jpg?sign=1739313124-9QieXkJI6IHgsWax6WmBCFfWyvyBp85u-0-53b09c0067e6aab9048a0ca4bd16d9da)
图2.29 阿宝色效果图
· 代码编程
我们使用C#上层调用C算法API的模式来实现,C代码如下:
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_122_1.jpg?sign=1739313124-hH85EhsNVXuWsaqGX6VGLSvZhgqYcLr4-0-6a49f405d54754c2bad7326afbf2dd48)
上层C#工程代码如下:
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_122_2.jpg?sign=1739313124-wNJaYU2BTlSEyhnxEiz1dMMmpHDoXcqv-0-60c20f68b62343a76fa4ce54772b0b3d)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_123_1.jpg?sign=1739313124-Hffj0C7RnYDFC8F6TOHc2X5WFbNTd3FA-0-b62fd377a712625f2316471911b4dee8)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_124_1.jpg?sign=1739313124-u8s8shMYJO7OJiD6MgTvwsjIKtwSyWR6-0-f833d5aa0f016b6c558821dee423d6f7)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_125_1.jpg?sign=1739313124-Dkxadwktfb9ZxaYrp1R73zm0EKsCTjRT-0-02723035a84c4db9b229232f569c98fb)
![](https://epubservercos.yuewen.com/AE27E4/18096060308238006/epubprivate/OEBPS/Images/39018_126_1.jpg?sign=1739313124-jAEfnaPCv3El77RgN82GDXpbGauDthIO-0-79097c57f5beb91746e8f8def0e28445)
这就是整个阿宝色滤镜的开发过程,如果想把算法移植到手机端,那么只需把 C 代码编译成 iOS或者 Android对应的库即可。阿宝色滤镜无论是以前还是现在,都比较受大家的欢迎,因为它总能给人一种红蓝相间的独特风格,让我们看到一个不一样的世界。
本节所有代码工程及DEMO见代码包中2.6文件夹中的文件。