美颜需要替换眉毛确定眉毛的长度

最近遇到一个项目问题,因为需要做一个美颜的APP.现在需要替换眉毛,这个眉尾的位置不知道怎么确定,各位大神有这方面的经验吗,不甚感激。。。如果有现有代码可以有偿。。。

回答:

可以使用人脸识别库。
例如:dlib库,配合一个数据集:shape_predictor_68_face_landmarks.dat
一下为Python的实例,当然你可以很快的转化为c++代码

# -*- coding:utf8 -*-

import cv2

import dlib

# 加载面部检测器

detector = dlib.get_frontal_face_detector()

# 加载训练模型并获取面部特征提取器

predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')

# 以 RGB 模式读入图像

im = cv2.imread('test.jpg', cv2.IMREAD_COLOR)

# 使用检测器检测人脸

rects = detector(im, 1)

# 使用特征提取器获取面部特征点

l = [(p.x, p.y) for p in predictor(im, rects[0]).parts()]

# 遍历面部特征点并绘制出来

for (cnt, p) in enumerate(l):

#轮廓

cv2.circle(im, p, 2, (0, 255, 255), 2)

#数据点id

cv2.putText(im, str(cnt), (p[0]+2, p[1]-2), 0, 0.3, color=(0, 0, 255))

# 保存图像

cv2.imwrite('output.jpg', im)

cv2.waitKey(0)

结果结果图片
索引值参考:

部位索引
下巴0~16
左眉毛17~21
右眉毛22~26
鼻子27~35
左眼睛36~41
右眼睛42~47
嘴巴48~67

以上是 美颜需要替换眉毛确定眉毛的长度 的全部内容, 来源链接: utcz.com/p/191911.html

回到顶部