皮肤美白(skin whitening)算法实现

一 色调平衡(Color balance )算法

1.1 当选择色调平衡以保持亮度时

(1)中间色调:加一种颜色时,颜色增加,另两种颜色减少,以保持亮度平衡;减去一种颜色时,颜色减少,另两种颜色相应增加,以保持亮度平衡。
(2) 亮点:无论是加色还是减色,图像都会变得明亮。加一种颜色,颜色增加,另两种颜色不变;减一种颜色,颜色不变,另两种颜色分别增加。
(3) 暗色调:无论是加还是减,图像都会变暗。当添加一种颜色时,颜色保持不变,而其他两种颜色减少;当减去一种颜色时,颜色减少,而另两种颜色保持不变。

1.2 当取消色调平衡并保持亮度时

只改变颜色的值,而其他两种颜色不受影响。
白平衡是描述红、绿、蓝三原色混合后的白色准确度的指标。
色彩平衡算法的方法:1。色阶的三个调整值必须相同或相差很小,否则输出图像会出现色差。2选择中间音3。不要保持亮度选项。
效果图如下:
在这里插入图片描述

二 logarithmic Curve 算法

其实,美白主要是为了美白提亮肌肤。因此,如果能有一个合适的映射表来增强原始图像的色阶,并且两端的增强亮度略弱,中间略强,也是一个不错的选择。在研究一篇图像增强文献[1]时,我们发现其中一个公式非常适合这种情况
在这里插入图片描述

w(x,y)为输入图像数据,V(x,y)为输入结果,beta为调整参数。我画了beta为[2,3,4,5]时的曲线,如下图所示
在这里插入图片描述
可见β值越大,美白程度越强 。
效果图如下:
在这里插入图片描述

三 图层混合(Layer blending )算法

这个层+掩模编码的实现其实是一些 α 混合的过程
Figure4 Skin whitening of Layer blending algorithm
效果图如下:
在这里插入图片描述

三种方法均达到了美白效果,其中层层混合算法和logarithmic Curve 算法具有较好的美白效果。

参考文献:
【1】A Two-Stage Contrast Enhancement Algorithm for Digital Images
【2】https://www.cnblogs.com/Imageshop/p/3843635.html
【3】自动色彩均衡算法(ACE)原理及实现