【图像处理】换脸技术哪家强?Python来挑战,一键换脸,毫无破绽~

前言:

今天,小编要给大家分享一个让你的Level蹭蹭的往上涨好几档一个技能,用两百行Python代码实现PS的换脸神技,用代码直接碾压以前用PS技术在你面前炫耀的小伙伴。

光说不练假把式,话不多说,请大家仔细看清以下步骤,细细研究,加油。

正文:

这个过程可分为四步:

  • 检测面部标记。
  • 旋转、缩放和转换第二张图像,使之与第一张图像相适应。
  • 调整第二张图像的色彩平衡,使之与第一个相匹配。
  • 把第二张图像的特性混合在第一张图像中。

使用图片:


1.使用dlib提取面部标记

 该脚本使用dlib的Python绑定来提取面部标记:

该脚本使用dlib的Python绑定来提取面部标记:

用Dlib实现了论文One Millisecond Face Alignment with an Ensemble of Regression Trees中的算法。算法本身非常复杂,但dlib接口使用起来非常简单:

PREDICTOR_PATH = "/home/matt/dlib-18.16/shape_predictor_68_face_landmarks.dat"

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(PREDICTOR_PATH)

def get_landmarks(im):
rects = detector(im, 1)

if len(rects) > 1:
raise TooManyFaces
if len(rects) == 0:
raise NoFaces

return numpy.matrix([[p.x, p.y] for p in predictor(im, rects[0]).parts()])

get_landmarks()函数将一个图像转化成numpy数组,并返回一个68 x2元素矩阵,输入图像的每个特征点对应每行的一个x,y坐标。

特征提取器(predictor)要一个粗糙的边界框作为算法输入,由传统的能返回一个矩形列表的人脸检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值