使用opencv进行脸部变形

 violet 发布于 2023-01-09 15:43

我可以获得一些关于如何使用opencv在实时视频中变形脸部的想法吗?我尝试过Face替换,但它是使用openFrameworks实现的.

我想用opencv实现相同的功能.opencv中是否还有其他方法可以将Face替换代码从openFrameworks直接移植到Opencv?

我也经历过这个链接,但是很少有人提到过,因为在opencv中不推荐使用face变形?

1 个回答
  • 我最近写了一篇关于使用OpenCV进行面部变形的文章.我已经用C++/Python共享了代码.你可以在这里找到详细信息

    http://www.learnopencv.com/face-morph-using-opencv-cpp-python/

    但基本思路如下.

      在两个输入图像中查找点对应关系.

      Delaunay对点数进行三角测量.

      变形量由参数α控制.例如.对于alpha = 0,你将在下面的例子中获得Ted Cruz,而对于alpha = 1.你将获得希拉里克林顿.对于任何其他alpha,它将是两者之间的混合.使用alpha通过获取两个输入图像点的加权平均值来计算输出(变形)图像中点的位置.

      计算输入图像中的每个三角形与目标图像(变形图像)之间的仿射变换.

      从每个输入图像到输出图像变形三角形,并根据alpha混合像素.对每个三角形执行此操作,您将获得输出变形图像.

    希望这可以帮助.

    在此输入图像描述

    2023-01-09 15:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有