OpenGL ES之实现“瘦脸大眼”效果

举报
Serendipity·y 发表于 2022/07/15 23:28:22 2022/07/15
【摘要】 一、“瘦脸效果”的实现 瘦脸效果的实现,是将指定区域内的像素按照一定的规则进行整体偏移,从而形成一种对脸部挤压的效果: 如下所示,BC 表示偏移方向和偏移程度的向量,将圆内的所有像素按照...

一、“瘦脸效果”的实现

  • 瘦脸效果的实现,是将指定区域内的像素按照一定的规则进行整体偏移,从而形成一种对脸部挤压的效果:

在这里插入图片描述

  • 如下所示,BC 表示偏移方向和偏移程度的向量,将圆内的所有像素按照向量 BC 的方向进行一定程度的偏移,像素偏移的强度,和像素与圆心的距离相关,越靠近圆心强度越大:

在这里插入图片描述

  • 为了简化计算流程,只做原理性展示,选取 3 个人脸部位的关键点(如下图,左右太阳穴和下巴),再由关键点计算出来控制点(太阳穴和下巴的连线的中心点),控制点组成上述的 BC 向量,当然若想快速验证瘦脸效果,可以直接手动指定:

在这里插入图片描述

  • 瘦脸效果的着色器脚本:
#
  
 

    文章来源: blog.csdn.net,作者:╰つ栺尖篴夢ゞ,版权归原作者所有,如需转载,请联系作者。

    原文链接:blog.csdn.net/Forever_wj/article/details/125792666

    【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。