1、下载openface相关文件
链接:下载openface:GitHub - cmusatyalab/openface: Face recognition with deep neural networks.
下载后得到一个openface-master的文件夹
2、输入cmd,进入命令提示符,找到自己保存的openface-master文件夹路径。
输入 python setup.py install
3、最后会显示安装的openface文件路径。
4、找到该路径。打开
找到openface文件夹
将该文件夹复制到“ …\Anaconda3\envs\pytorch\Lib\site-packages”的site-packages文件夹中。
5、打开pycharm测试
import openface
import cv2
import dlib
imgPath = '3.jpg'
bgrImg = cv2.imread(imgPath)
rgbImg = cv2.cvtColor(bgrImg, cv2.COLOR_BGR2RGB)
# 生成 Dlib 的图像窗口
win = dlib.image_window()
win.set_image(rgbImg)
# 预训练的面部形状预测器,Dlib 的 81点模型
dlibFacePredictor = 'shape_predictor_81_face_landmarks.dat'
# Use dlib’s landmark estimation to align faces.
align = openface.AlignDlib(dlibFacePredictor)
# 当有多个人脸时,找到所有脸的边界框
# bbs = align.getAllFaceBoundingBoxes(rgbImg)
# 当有一个人脸时,找到图中最大的边界框
bbs = [align.getLargestFaceBoundingBox(rgbImg)]
# for bb in bbs:
# # 绘制人脸边界框
# win.add_overlay(bb)
#
# # align图像转换以及对齐
# alignedFace = align.align(
# 96,
# rgbImg,
# bb,
# landmarkIndices=openface.AlignDlib.OUTER_EYES_AND_NOSE) # (imgDim, imgDim, 3)
#
# win2 = dlib.image_window()
# win2.set_image(alignedFace)
# shape = align.predictor(rgbImg, bb)
# # 绘制面部轮廓
# win.add_overlay(shape)
for bb in bbs:
landmarks = align.findLandmarks(rgbImg,bb)
for center in landmarks:
cv2.circle(bgrImg, center, 1, (255,0, 0), 2)
cv2.imshow('opencvface',bgrImg) # 显示图片
cv2.waitKey(0) # 等待用户关闭图片窗口
cv2.destroyAllWindows()# 关闭窗口