Matlab代码sqrt
脸部融合
融合了两个面部图像的图像变形。
使用CImg在C
++中实现。
例子
所有源代码都包含在src
。
res/pics中包含两个测试图像控制点包含在res/control_pts
。
example中包括所有结果图像(和gif)。
在Visual
Studio中打开FaceFusing.sln并重新生成项目,测试程序FaceFusing.exe将出现在Release文件夹中。
算法细节
目前,控制点是使用Matlab图像处理工具手动选择的,并存储在txt中。
格式如下:
100
100
102
100
...
Delaunay三角剖分是通过Bowyer-Watson算法实现的,该算法是一种增量算法。
参考:
对于每个融合过程,算法都需要知道融合图像中像素在源图像和目标图像中的对应位置,这意味着应确定两个转换函数,以便其rgb值可以是rgb的插值在两个图像中其对应位置的值。
在此算法中,我们执行以下操作:
使用源图像和目标图像的cps插入融合图像的控制点。
T(M)
=
O(M)
通过delaunay三角剖分获得delaunay三角形。
T(M)
=
O
评论0
最新资源