GLES 2.0基于着色器的滤光片,适用于光滑的皮肤

时间:2016-08-13 19:32:13

标签: android gpuimage

我目前正在使用gpu-image port for android创建照片编辑应用,并希望应用平滑的皮肤过滤器。

经过一些谷歌我发现双边模糊和中值滤波器是一些过滤器来实现这种效果。

但是当尝试在gpu-image中应用双边模糊时,结果并不十分令人满意,因为它会平滑眉毛和嘴唇等其他部位。

任何人都可以建议我另一个好的过滤器或者可能是一种结合多个过滤器来实现平滑皮肤效果的方法吗?我真的想要复制这个:like in the right-most image

1 个答案:

答案 0 :(得分:1)

我管理为Android创建HighPassScalFilter,它也在Github上创建。

  

https://github.com/AmniX/HighPassSkinSmoothing-Android

实施就像:

enter image description here

<强>理论

高通皮肤平滑背后的主要理论是频率分离。

频率分离将图像的色调和颜色从更细致的纹理中分离出来。这是可能的,因为数字图像可以被解释为表示为正弦波的不同频率。

图像中的高频率将包含有关细节的信息,例如皮肤毛孔,毛发,细纹,皮肤瑕疵。

低频是包含有关音量,色调和颜色过渡的信息的图像数据。换句话说:阴影和亮区,颜色和色调。

https://fstoppers.com/post-production/ultimate-guide-frequency-separation-technique-8699 通过使用高通滤波器,图像可以分成高和低空间频率。然后,我们将能够通过对图像的某些频率应用调整(图中的曲线调整)来预先设置精细的细节水平来平滑图像。 欢呼声。