Opencv:如何使图像适合非矩形轮廓?

我想把脸上的小丑形象塑造成另一张脸(一个人)的轮廓.

我正在检测人脸并获得类似椭圆的轮廓.

我可以找出中心,半径,最高,最低,最左边和最右边的点.

我如何适应小丑脸(一个方形图像,我可以通过从png的空白背景中切出脸然后检测轮廓来制作椭圆形)进入人脸?

或者至少,我如何将多边形拟合到另一个多边形中.

我可以轻松地将矩形图像拟合成矩形轮廓,但是面不是那种形状.

Python更可取,但C也可以管理,谢谢.

编辑:按要求的视觉表示:

我有

我想这样做:

但是我希望小丑的脸伸展到男人的脸上,并且适合蓝色的轮廓.

最佳答案 我认为您要寻找的关键字是Active Appearance Models.首先,您需要将模型拟合到第一个面(
such as this one),它位于轮廓内.然后,你应该把相同的模型适合小丑脸.之后,由于您在两个面上都安装了相同的模型,因此可以根据需要进行拉伸.

我自己并没有使用AAM而且我不是它的专家,所以我的解释可能不够或者可能不完全正确,但我相信它会给你一些insight.

点赞