跟着卷卷龙一起学Camera--美颜相机03

156 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

另外更节省计算量的方式:也可以在前期设计好滤镜的效果并获得大致的 RGB 查找 表,在 shader 中利用 RGB 查找表直接进行映射,将 GPU 的计算能力用于更加复杂的操作。下面介绍的是美颜相机中包含的另一大类功能美妆功能。美妆功能的算法原理相对简单,反 而更大的任务量是在设计端,如何能设计出更加漂亮的妆容是一个比较重要的任务。假设我们已 经有了一种比较好看的妆容,我们如何把它放到人的脸上呢?第一步是需要知道人脸上眼睛、鼻 子、嘴的位置,如上半部内容所介绍的,我们可以依赖于人脸检测算法和人脸对齐算法,获得人 脸轮廓的关键点信息,我们利用网络上搜索得到的一张图像来进行直观的说明。获得人脸的各种器官的位置后,我们就可以根据我们所采用的操作对各个器官进行调节,现 在的美颜类相机中一般提供了两种美妆的模式,第一种提供给用户逐步改变每项化妆效果的功 能,这些效果一般包括粉底,腮红,眼线,眼影,眉毛,美瞳,睫毛,唇彩等操作。另外一种的 美妆模式是预先设计好整套的妆容,然后直接将这套妆容应用于人脸,算法上面与上述独立操作 没有区别,之前非常火爆的“媚娘装”,或是有些 APP 中自带的“百变大咖”就是类似的应用。有了上一篇所介绍的美颜类操作的基础,我们很容易理解这些美妆操作的基本算法原理。粉 底操作是对于整张脸的皮肤区域进行颜色的改变,利用上半部所述的皮肤区域分割算法,可以获 得皮肤区域的掩码,根据粉底的颜色和亮度,改变掩码区域中皮肤像素的颜色和亮度, 最后利用图像融合的方式(image blending)将改变颜色的皮肤同原始皮肤进行一定比例的融 合,以达到自然的效果。