利用dlib库进行人脸识别

小灰灰 2022-02-27 06:50 374阅读 0赞

现如今人脸识别的技术已经十分先进了,识别率很高,dlib也是人脸识别常用的一个库,可以检测出人脸上的68个点,并且进行标注,当我们准备自己的人脸数据时,常常用dlib进行数据提取。

首先需要在python中安装dlib

  1. pip install dlib==19.6.1

如果提示无法编译的错误,则需要在python环境中安装cmake,之后再安装dlib就能够成功

dlib人脸检测使用分为两种,一种是对人脸检测后提取整个人脸区域,一种是在人脸上标注特征点

人脸区域

  1. import cv2
  2. import numpy as np
  3. import time
  4. import os
  5. from matplotlib import pyplot as plt
  6. import dlib
  7. detector = dlib.get_frontal_face_detector()
  8. img = cv2.imread('E:\\private\\deeplearning\\dlib\\timg.jpg')
  9. img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
  10. faces = detector(img_gray, 1)
  11. for index, face in enumerate(faces):
  12. left = face.left()
  13. top = face.top()
  14. right = face.right()
  15. bottom = face.bottom()
  16. cv2.rectangle(img, (left, top), (right, bottom), (0, 255, 0))
  17. cv2.imwrite('E:\\private\\deeplearning\\dlib\\timg1.jpg', img)

女神镇楼

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI2MDE2NDc_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI2MDE2NDc_size_16_color_FFFFFF_t_70 1

  1. import cv2
  2. import numpy as np
  3. import time
  4. import os
  5. from matplotlib import pyplot as plt
  6. import dlib
  7. detector = dlib.get_frontal_face_detector()
  8. img = cv2.imread('E:\\private\\deeplearning\\dlib\\timg.jpg')
  9. img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
  10. predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
  11. faces = detector(img_gray, 1)
  12. for face in faces:
  13. shape = predictor(img, face) # 寻找人脸的68个标定点
  14. # 遍历所有点,打印出其坐标,并圈出来
  15. for pt in shape.parts():
  16. pt_pos = (pt.x, pt.y)
  17. cv2.circle(img, pt_pos, 2, (0, 255, 0), 2)
  18. cv2.imwrite('E:\\private\\deeplearning\\dlib\\timg1.jpg', img)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI2MDE2NDc_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI2MDE2NDc_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,374人围观)

还没有评论,来说两句吧...

相关阅读

    相关 人脸特征检测--基于DLIB

      Dlib是一个C++编写的工具包,它包含了机器学习算法以及一些用来解决现实复杂问题的工具,可以广泛应用于机器人、嵌入式设备、手机,甚至高性能计算中,可以在其官网了解更多。这

    相关 利用dlib进行人脸识别

    现如今人脸识别的技术已经十分先进了,识别率很高,dlib也是人脸识别常用的一个库,可以检测出人脸上的68个点,并且进行标注,当我们准备自己的人脸数据时,常常用dlib进行数据提