我目前正在使用 gpu-image port for android创建一个照片编辑应用程序并想要应用平滑的皮肤滤镜。
经过一番谷歌,我发现双边模糊和中值滤波器是实现这种效果的一些滤波器。
但是当尝试在 GPU 图像中应用双边模糊时,结果并不是很令人满意,因为它使眉毛和嘴唇等其他部分变得平滑。
任何人都可以建议我另一个好的过滤器,或者可能是组合多个过滤器以实现平滑皮肤效果的方法吗?我真的很想复制这个:like in the right-most image
最佳答案
我成功地为 Android 创建了 HighPassScalFilter,它也在 Github 上。
实现就像:
理论
高通趋肤平滑背后的主要理论是频率分离。
频率分离将图像的色调和颜色与其更详细的纹理分开。这是可能的,因为数字图像可以解释为表示为正弦波的不同频率。
图像中的高频将包含有关精细细节的信息,例如皮肤毛孔、头发、细纹、皮肤缺陷。
低频是包含有关音量、色调和颜色过渡信息的图像数据。换句话说:阴影和亮区、颜色和色调。
https://fstoppers.com/post-production/ultimate-guide-frequency-separation-technique-8699 通过使用高通滤波器,可以将图像分为高空间频率和低空间频率。然后,我们将能够通过对图像的某些频率应用调整(图中的曲线调整)来平滑图像,同时保留精细的细节水平。 干杯。
关于android - 基于 GLES 2.0 着色器的滤镜可实现平滑皮肤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38936288/