基于python, opencv, dlib的人脸融合

基于python, opencv, dlib的人脸融合基于python, opencv, dlib的人脸融合基于python, opencv, dlib的人脸融合

操作步骤

具体操作步骤在代码里都有详细标注与解释,供大家参考。完整代码在这里

一,人脸关键点检测

本文以dlib用于人脸位置和关键点检测,共68个关键点,可以考虑face++(106个)(可能要收费), stasm(77个)

二,人脸对齐

对齐方式先采用普氏分析法获取仿射关系,然后通过opencv提供的仿射函数进行对齐。具体函数:transformation_from_points。链接

基于python, opencv, dlib的人脸融合

三,人脸融合

融合方式采用三角剖分融合算法,先采用delaunay三角剖分对人脸进行剖分,然后通过alpha混合两张人脸。引用链接

alpha等于0.5的融合效果

基于python, opencv, dlib的人脸融合

四,泊松融合

最后把融合图人脸贴上底图,进行泊松融合。

基于python, opencv, dlib的人脸融合