**简单的人脸识别 记个笔记 **


# 导入库
import cv2.cv2 as cv2
import numpy as np
import dlib
import matplotlib.pyplot as plt# 方法1:显示图像
def show_image(image,title):# opencv读取图像是BGR 而matplotlib是 RGB 格式img_RGB = image[:, :, ::-1]#BGR To RGBplt.title(title)plt.imshow(img_RGB)plt.axis("off")# 方法2 :检测出的人脸画框
def plot_rectangle(image,faces):for face in faces:image = cv2.rectangle(image,(face.left(),face.top()),(face.right(),face.bottom()),(0,255,0),4)return image#主函数
def main():#读取图片img = cv2.imread('5.jpg')#灰度化img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#调用dlib中的检测器detector = dlib.get_frontal_face_detector()dets = detector(img_gray,1)#1:将图片放大一倍,便于识别人脸#检测出人脸绘制矩形img_result = plot_rectangle(img,dets)# cv2.imwrite("6.jpg", img_result)  # 将图片保存为6.jpg#创建画布plt.figure(figsize=(9,6))plt.suptitle("face detection with dlib",fontsize=14,fontweight="bold")#显示最终结果show_image(img_result,"face detection")plt.show() #缺少这句,函数不报错 但是不显示图像if __name__ == '__main__':main()

人脸识别+关键点标记68
Python+OpenCV+dlib实现人脸68个关键点检测并标注

'''
人脸关键点检测——dlib
1  dlib.get_frontal_face_detector()  获取人脸检测器
2  dlib.shape_predictor()  预测人脸关键点
'''
# import cv2
#上面的无法自动补全代码
import cv2.cv2 as cv2
import matplotlib.pyplot as plt
import dlib#读取图片
img = cv2.imread("8.jpg")#调用人脸检测器
detector = dlib.get_frontal_face_detector()#加载 预测关键点模型(68个关键点)
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")#灰度化
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#人脸检测
faces = detector(gray, 1)  # 1:将图片放大一倍,便于识别人脸; 0 原始图像#循环 遍历每一张人脸,绘制矩形框和关键点
for face in faces:#绘制矩形框cv2.rectangle(img, (face.left(), face.top()), (face.right(), face.bottom()), (0, 255, 0), 2)#预测关键点shape = predictor(img,face)#显示关键点for pt in shape.parts():#获取横纵坐标pt_position = (pt.x,pt.y)#绘制关键点坐标cv2.circle(img,pt_position,1,(0,0,255),-1) #5:点的半径;-1:实心圆#显示整个效果
plt.imshow(img[:, :, ::-1])
plt.title("68_face_landmarks")
plt.axis("off")
# cv2.imwrite("dlib_68_face_landmarks8.jpg", img)
plt.show()

'''
人脸关键点检测——dlib
1  dlib.get_frontal_face_detector()  获取人脸检测器
2  dlib.shape_predictor()  预测人脸关键点
'''
# import cv2
#上面的无法自动补全代码
import cv2.cv2 as cv2
import matplotlib.pyplot as plt
import dlib
import numpy as np#读取图片
img = cv2.imread("5.jpg")#调用人脸检测器
detector = dlib.get_frontal_face_detector()#加载 预测关键点模型(68个关键点)
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")#灰度化
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#人脸检测
faces = detector(gray, 1)  # 1:将图片放大一倍,便于识别人脸; 0 原始图像for i in range(len(faces)):# 绘制矩形框cv2.rectangle(img, (faces[i].left(), faces[i].top()), (faces[i].right(), faces[i].bottom()), (0, 255, 0), 2)# # 预测关键点# shape = predictor(img, faces[i])# # 显示关键点# for p in shape.parts():#     #获取横纵坐标#     pt_position = (p.x,p.y)#     #绘制关键点坐标#     cv2.circle(img,pt_position,1,(0,0,255),-1) #5:点的半径;-1:实心圆landmarks = np.matrix([[p.x, p.y] for p in predictor(img, faces[i]).parts()])for idx, point in enumerate(landmarks):# 68点的坐标pos = (point[0, 0], point[0, 1])# 利用cv2.circle给每个特征点画一个圈,共68个cv2.circle(img, pos, 2, color=(0, 0, 255))# 利用cv2.putText输出1-68font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img, str(idx + 1), pos, font, 0.5, (255, 0,0 ), 1, cv2.LINE_AA)print("index=" + str(idx + 1) + " x=" + str(pos[0]) + " y=" + str(pos[1]))#显示整个效果
plt.imshow(img[:, :, ::-1])
plt.title("68_face_landmarks")
plt.axis("off")
plt.show()

dilb人脸识别+68关键点检测相关推荐

  1. 人脸数据库大全(包括人脸识别、关键点检测、表情识别,人脸姿态等等)

    搞计算机视觉的人,对人脸技术并不陌生.在做实验的时候需要各种数据集进行训练,却往往苦于找不到合适的数据集,这篇文章将给大家带来一点福音. 目前为止最全的是人脸数据库总结: The Color FERE ...

  2. 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人脸关键点 ...

  3. Python | 人脸识别系统(人脸识别、活体检测、背景模糊、关键点检测)

    本博客为人脸识别系统项目简介 项目GitHub完整源代码地址:Su-Face-Recognition: A face recognition for user logining 一.运行环境 本系统能 ...

  4. 人脸定点:关键点检测方法汇总

    相关博客:  http://blog.csdn.net/yang_xian521/article/details/7468571  http://blog.sina.com.cn/s/blog_6d8 ...

  5. HyperLandmark-开源人脸106点关键点检测SDK,北京智云视图科技

    原 HyperLandmark-开源人脸106点关键点检测SDK 2018年07月19日 15:25:44 lsy17096535 阅读数:3260 </div><div class ...

  6. Python | 人脸识别系统 — 活体检测

    本博客为人脸识别系统的活体检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...

  7. flutter 刷脸_GitHub - nnnggel/baidu_face_plugin: 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android)...

    baidu_face_plugin 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android) 使用方式 注册百度开发者账号 前往 百度开发者账号 进行注册. 申请并配置licen ...

  8. CVPR 2020 | 腾讯优图17篇论文入选,含类比学习、人脸识别、物体检测、行人重识别等领域...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文来源:腾讯优图 全球计算机视觉顶级会议CVPR2020  (IEEE Conf ...

  9. 【深度学习】人脸识别和口罩检测的应用

    [深度学习]人脸识别和口罩检测的应用 文章目录 1 概述 2 人脸识别模型搭建与训练 3 口罩检测3.1 数据来源3.2 YoloV4简介3.3 数据集处理3.4 开始训练3.5 测试 1 概述 1. ...

最新文章

  1. 超硬核,整理的这10个自动化测试框架,使用后简直如有神助
  2. PHP学习笔记--011 PHP文件处理
  3. python批量导入MongoDB数据库
  4. [提示]普通用户使用sealos安装k8s集群的话,默认还是会装到root用户的home目录/root
  5. Flex 幻灯片播放
  6. nginx proxy_cache 缓存配置
  7. 数据结构-Huffman树
  8. javafx 和swing_Swing和JavaFX:使用JFXPanel
  9. 机器学习笔记(九)——决策树的生成与剪枝
  10. java死锁的产生原因,操作系统产生死锁的原因和处理策略
  11. 关于Python ord()和chr()返回ASCII码和Unicode码的看法
  12. int是python的内置函数吗_Python内置int函数详细介绍
  13. android开发入门配置,Android开发入门——Andoird Studio的安装与配置
  14. 博文视点Open Party第8期
  15. 重置Winsock2
  16. 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第三章
  17. 华为USG6330运维记录-端口回流、策略路由
  18. [Oracle 11g r2(11.2.0.4.0)]RAC集群常用命令
  19. 程雷被机器人_机器人登台表演节目?程雷惨遭机器人戏耍郭德纲一旁大笑!
  20. 国际短信发不出去是怎么回事?

热门文章

  1. ENVI: 如何进行图像的自动配准?
  2. Spark:Please check stacktrace for the root cause.
  3. E5071C ENA 矢量网络分析仪苏深圳全国租售
  4. 一文读懂虚拟机的网络模式
  5. KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读
  6. 【Java】超级简单的随机点名器
  7. sql的 join on用法
  8. C# 去掉图片多余白色部分
  9. 域管理:如何更新域联系信息
  10. 面向6G的无人机辅助通信技术