0

我正在做一个小项目,我需要从肖像图像中提取头发,然后将该头发图像交换到另一个图像的头部。基本上,它是一个头发交换项目。为此,我有:

  1. 提取的头发部分
  2. 并使用无缝克隆放置到另一个图像的头部。但它并没有给我带来与预期不同的结果。

这是最终的图像:

头发的来源

头发的来源

提取的头发

提取的头发

目的地图片

目的地图片

无缝克隆后

无缝克隆

因为它没有给出好的结果。我阅读了文档(第 3.5 节发型编辑)上

使用皮肤纹理合成模拟照片中的面部/发型交换

链接上述文档的链接

并得到了基本的想法,我们可以使用参考点传输头发部分。

但是,我不知道我们是否可以借助 opencv python 中的参考点进行传输。我可以找出转移的坐标点。没有问题。我想知道技术。我上网,但没有找到任何东西。

期望的结果:

头发位置参考点

必须使用点的参考,缩放,旋转并放置在所需的目的地。

希望,我清除了我的观点和要求。

更新:

仿射变换的结果,我之前试过:

仿射变换然后无缝克隆

4

1 回答 1

0

是描述仿射变换的文档。使用两个图像中的指定点为warpAffine方法创建变换矩阵。将此转换应用于头发图像,然后将其与目标图像混合。

于 2019-01-30T20:51:22.497 回答