20(1)基于dlib进行人脸识别( 图片检测 )

Tommy老师视频链接

凯哥英语视频

# 1.导入库
import cv2
import dlib
import numpy as np# 定义: 关键点编码128D
def encoder_face(image, detector, predictor, encoder, upsample=1, jet=1):# 检测人脸faces = detector(image, upsample)# 对每张人脸进行关键点检测# gray = cv2.cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 灰度报错了...faces_keypoints = [predictor(image, face) for face in faces]  # 每张人脸的关键点return [np.array(encoder.compute_face_descriptor(image, faces_keypoint, jet)) for faces_keypoint in faces_keypoints]# 定义: 通过关键点的欧氏距离, 人脸比较
def compare_faces(face_encoding, test_encoding):return list(np.linalg.norm(np.array(face_encoding) - np.array(test_encoding), axis=1))  # axis=1 1 按照行向量处理def main():# 2.读取4张图片img1 = cv2.imread('01.jpg')img2 = cv2.imread('02.jpg')img3 = cv2.imread('03.jpg')img4 = cv2.imread('05.jpg')test = cv2.imread('00.jpg')# opencv中是BGR, dlib读取到的是RGB格式# BGR->RGBimg1 = img1[:, :, ::-1]img2 = img2[:, :, ::-1]img3 = img3[:, :, ::-1]img4 = img4[:, :, ::-1]test = test[:, :, ::-1]# 3.加载人脸检测器detector = dlib.get_frontal_face_detector()print('333')# 4.加载关键点检测器predictor = dlib.shape_predictor('F:\\opencv\\01opencv\\16-20Face_recognition\\18face_landmarks_dlib\\shape_predictor_68_face_landmarks.dat')print('444')# 5.加载人脸特征编码模型encoder = dlib.face_recognition_model_v1('F:\\opencv\\01opencv\\16-20Face_recognition\\dlib-models\\dlib_face_recognition_resnet_model_v1.dat')print('555')# 6.调用方法: 128D特征向量输出img1_128D = encoder_face(img1, detector, predictor, encoder)[0]  # 如果有多张人脸,只取第一张img2_128D = encoder_face(img2, detector, predictor, encoder)[0]img3_128D = encoder_face(img3, detector, predictor, encoder)[0]img4_128D = encoder_face(img4, detector, predictor, encoder)[0]four_128D = [img1_128D, img2_128D, img3_128D, img4_128D]test_128D = encoder_face(test, detector, predictor, encoder)[0]print('666')# 7.调用方法比较人脸, 计算箱梁之间的距离, 判断是否为同一个人distance = compare_faces(four_128D, test_128D)print('777')print(distance)if __name__ == '__main__':main()

别的也没啥说的

ok,那就这样吧~

欢迎各位大佬留言吐槽,也可以深入交流~

OpenCV笔记_20(1)基于dlib进行人脸识别( 图片检测 )相关推荐

  1. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现

    之前已经介绍过人脸识别的基础概念,以及基于opencv的实现方式,今天,我们使用dlib来提取128维的人脸嵌入,并使用k临近值方法来实现人脸识别. 人脸识别系统的实现流程与之前是一样的,只是这里我们 ...

  2. dlib实现人脸识别+活体检测

    目录: 一:dlib的shape_predictor_68_face_landmarks模型 二.眨眼检测 三.张口检测 四.眨眼检测+张口检测 五.人脸识别 六.人脸识别+活体检测 七.人脸识别破解 ...

  3. python人脸识别防小偷_基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)...

    本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172 import numpy as np import cv2 # ...

  4. 基于神经网络的人脸识别(Tensorflow,opencv,dlib,cnn,)

    写个神经网络(Tensorflow,opencv,dlib,cnn,人脸识别) lvying 20180427 基于TensorFlow训练的人脸识别神经网络 训练一个神经网络 这段时间正在学习ten ...

  5. dlib 使用OpenCV,Python和深度学习进行人脸识别 源代码

    请直接访问原文章 dlib 使用OpenCV,Python和深度学习进行人脸识别 源代码 https://hotdog29.com/?p=595 在 2019年7月7日 上张贴 由 hotdog发表回 ...

  6. 【优秀课设】基于OpenCV的Python人脸识别、检测、框选(遍历目录下所有照片依次识别 视频随时标注)

    基于OpenCV的Python人脸识别.检测.框选 (遍历目录下所有照片依次识别 视频随时标注) 移步: https://blog.csdn.net/weixin_53403301/article/d ...

  7. 基于百度云人脸识别API与opencv的人脸识别系统

    基于百度云人脸识别API与opencv的人脸识别系统 简介 弄这个东西是因为参加了学校的项目,第一次开发做的不是很好. 本系统是基于百度云人脸识别API.opencv级联器.PYQT5进行开发.百度云 ...

  8. dlib库包的介绍与使用,opencv+dlib检测人脸框、opencv+dlib进行人脸68关键点检测,opencv+dlib实现人脸识别,dlib进行人脸特征聚类、dlib视频目标跟踪

    文章目录: 1 dlib库介绍 2 dlib人脸检测:绘制出人脸检测框 2.1 dlib人脸检测源码 2.2 opencv + dlib 人脸检测 2.3 dlib人脸检测总结 3 dlib人脸关键点 ...

  9. 《基于子空间的人脸识别》文献笔记

    前记:本人目前研一,刚刚接触这个这个领域,仅想以这种形式记录自己走过的点点滴滴,欢迎大家批评指正. <基于子空间的人脸识别>是程正东,章毓晋编写的,清华大学出版社出版的一本关于人脸识别的书 ...

  10. python人脸识别训练模型_开源 | 基于Python的人脸识别:识别准确率高达99.38%!

    原标题:开源 | 基于Python的人脸识别:识别准确率高达99.38%! 该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wi ...

最新文章

  1. 华为机考HJ6求质因子C语言解法
  2. MSLicensing​中断远程桌面连接
  3. cef在android中使用_嵌入Chrome cef之完整版(本教程基于cef1)
  4. 检查Lync SRV记录是否正常
  5. python哪本好-最好的Python入门教材是哪本?
  6. 已知服务器ftp的账号密码,求解数据库表的内容
  7. 方法的重写-扩展父类方法,super对象调用父类方法
  8. 关于双等号判断的深入面试题
  9. 宝塔无法安装php5,宝塔无法安装phpmyadmin怎么办
  10. c# 保存和打开文件的方法
  11. 接口测试常用工具及测试方法(新手篇)
  12. offset must be non-negative and no greater than buffer length (0)(tensorflow.keras)
  13. 深入浅出通信原理MIMO合集
  14. 群晖系统,部署JAVA-JAR包,SpringBoot项目,手工启动
  15. windows安装MySQL详细步骤
  16. 基于单片机的电子万年历的设计
  17. Android 利用Canvas实现双指拖动和双指缩放图片
  18. 「 微信黑科技 」神奇符号
  19. 使用python批量解压7z格式压缩包
  20. java中mapper层作用_Java的MyBatis框架中Mapper映射配置的使用及原理解析

热门文章

  1. 总体设计(五个基本原理、软件结构图)
  2. java导出excel水印_java实现导出带有水印的excel
  3. 计步算法 睡眠 心率 学习 PPG传感器(转))
  4. Comsol with Matlab
  5. 机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵
  6. elpida颗粒_内存涨价三星背锅,晶圆颗粒远远不止这几家!
  7. VS2017使用教程(使用VS2017编写C语言程序)
  8. 使用mbedtls库实现ftps协议
  9. 图书条形码跟ISBN号互相转换的类
  10. IDEA 返回上一步 快捷键