python opencv做界面 python基于opencv的人脸识别( 二 )


src: 输入图像
src_tri: 输入图像中的三个点
dst_tri: 输入图像三个点对应输出图像中三个点
size: 输出图像大小
return: 返回输入图像按照两个三角形对应点的仿射变换得到的图像
\'\'\'
# 得到仿射矩阵
warp_mat = cv2.getAffineTransform(np.float32(src_tri), np.float32(dst_tri))

# Apply the Affine Transform just found to the src image
dst = cv2.warpAffine(src,
warp_mat, (size[0], size[1]),
None,
flags=cv2.INTER_LINEAR,
borderMode=cv2.BORDER_REFLECT_101)

return dst
篇幅原因,这里不贴出其他实现代码 。需要代码的直接拉到文章最后,免费获取源码 。
4 人脸融合【python opencv做界面 python基于opencv的人脸识别】人脸融合使用泊松融合比较适合:
...
cv2.seamlessClone(dst, to_img, p_mask, center, cv2.NORMAL_CLONE)
...

推荐阅读