作家
登录

小200行Python代码做了一个换脸程序

作者: 来源: 2018-03-22 17:06:36 阅读 我要评论

4.应用奇怪值分化枷⒚扭转部分。可以在维诽谤科上看到关于解决正交 Procrustes 问题的细节。

5.应用仿射变换矩阵返回完全的转化。

其结不雅可以插入 OpenCV 的 cv2.warpAffine 函数,将图像二映射到图像一:

  1. def warp_im(im, M, dshape):  
  2.     output_im = numpy.zeros(dshape, dtype=im.dtype)  
  3.     cv2.warpAffine(im,  
  4.                    M[:2],  
  5.                    (dshape[1], dshape[0]),  
  6.                    dst=output_im,  
  7.                    borderMode=cv2.BORDER_TRANSPARENT,  
  8.                    flags=cv2.WARP_INVERSE_MAP)  
  9.     return output_im  

对齐结不雅如下:

3.校订第二张图像的色彩

如不雅我们试图直接覆盖面部特点,很快会看到这个问题:

这个问题是两幅图像之间不合的肤色和光线造成了覆盖区域的边沿不持续。我们试着修改:

  1. COLOUR_CORRECT_BLUR_FRAC = 0.6  
  2. LEFT_EYE_POINTS = list(range(42, 48))  
  3. RIGHT_EYE_POINTS = list(range(36, 42))   
  4.  
  5. def correct_colours(im1, im2, landmarks1):  
  6.     blur_amount = COLOUR_CORRECT_BLUR_FRAC * numpy.linalg.norm(  
  7.                               numpy.mean(landmarks1[LEFT_EYE_POINTS], axis=0) -  
  8.                               numpy.mean(landmarks1[RIGHT_EYE_POINTS], axis=0))  
  9.     blur_amount = int(blur_amount)  
  10.     if blur_amount % 2 == 0:  
  11.         blur_amount += 1  
  12.     im1_blur = cv2.GaussianBlur(im1, (blur_amount, blur_amount), 0) 

      推荐阅读

      蜜月期还没过完 苹果就要和三星分手了

    全平易近充电节 | 3月26日~30日 2000位IT行业拭魅战专家邀请你一路充电进修! 作为手机阵营的两大年夜巨擘,苹不雅和三星因为一部iPhone X走在了一路,两边都大年夜中获得了本身想要的器械>>>详细阅读


    本文标题:小200行Python代码做了一个换脸程序

    地址:http://www.17bianji.com/lsqh/40825.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)