python dlib实现小程序(4)实现换脸

换脸步骤:
在这里插入图片描述

# coding=utf-8
import cv2
import dlib
import os
import numpy as np
import glob

class NoFace(Exception):
    pass
class Facechanger(object):

    def __init__(self,which_predictor = '68',windowname = ' exchange face'):
        self.current_path = os.getcwd()
        self.predictor_68_path = self.current_path + "\shape_predictor_68_face_landmarks.dat"
        self.predictor_5_points_path = self.current_path + "\shape_predictor_5_face_landmarks.dat"
        self.detector = dlib.get_frontal_face_detector()
        self.predictor= dlib.shape_predictor(self.predictor_68_path)



        self.SCALE_FACTOR = 1
        self.FEATHER_AMOUNT = 11
        self.COLOUR_CORRECT_BLUR_FRAC = 0.6

        self.FACE_POINTS = list(range(17, 68))
        self.MOUTH_POINTS = list(range(48, 61))
        self.RIGHT_BROW_POINTS = list(range(17, 22))
        self.LEFT_BROW_POINTS = list(range(22, 27))
        self.RIGHT_EYE_POINTS = list(range(36, 42))
        self.LEFT_EYE_POINTS = list(range(42, 48))
        self.NOSE_POINTS = list(range(27, 35))
        self.JAW_POINTS = list(range(0, 17))
        self.ALIGN_POINTS = (self.LEFT_BROW_POINTS + self.RIGHT_EYE_POINTS + self.LEFT_EYE_POINTS +
                             self.RIGHT_BROW_POINTS + self.NOSE_POINTS + self.MOUTH_POINTS)
        self.OVERLAY_POINTS = [self.LEFT_BROW_POINTS + self.RIGHT_EYE_POINTS + self.LEFT_EYE_POINTS +
                             self.RIGHT_BROW_POINTS + self.NOSE_POINTS + self.MOUTH_POINTS]


     
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值