dilb人脸识别+68关键点检测
**简单的人脸识别 记个笔记 **
# 导入库
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关键点检测相关推荐
- 人脸数据库大全(包括人脸识别、关键点检测、表情识别,人脸姿态等等)
搞计算机视觉的人,对人脸技术并不陌生.在做实验的时候需要各种数据集进行训练,却往往苦于找不到合适的数据集,这篇文章将给大家带来一点福音. 目前为止最全的是人脸数据库总结: The Color FERE ...
- 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人脸关键点 ...
- Python | 人脸识别系统(人脸识别、活体检测、背景模糊、关键点检测)
本博客为人脸识别系统项目简介 项目GitHub完整源代码地址:Su-Face-Recognition: A face recognition for user logining 一.运行环境 本系统能 ...
- 人脸定点:关键点检测方法汇总
相关博客: http://blog.csdn.net/yang_xian521/article/details/7468571 http://blog.sina.com.cn/s/blog_6d8 ...
- HyperLandmark-开源人脸106点关键点检测SDK,北京智云视图科技
原 HyperLandmark-开源人脸106点关键点检测SDK 2018年07月19日 15:25:44 lsy17096535 阅读数:3260 </div><div class ...
- Python | 人脸识别系统 — 活体检测
本博客为人脸识别系统的活体检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...
- flutter 刷脸_GitHub - nnnggel/baidu_face_plugin: 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android)...
baidu_face_plugin 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android) 使用方式 注册百度开发者账号 前往 百度开发者账号 进行注册. 申请并配置licen ...
- CVPR 2020 | 腾讯优图17篇论文入选,含类比学习、人脸识别、物体检测、行人重识别等领域...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文来源:腾讯优图 全球计算机视觉顶级会议CVPR2020 (IEEE Conf ...
- 【深度学习】人脸识别和口罩检测的应用
[深度学习]人脸识别和口罩检测的应用 文章目录 1 概述 2 人脸识别模型搭建与训练 3 口罩检测3.1 数据来源3.2 YoloV4简介3.3 数据集处理3.4 开始训练3.5 测试 1 概述 1. ...
最新文章
- 超硬核,整理的这10个自动化测试框架,使用后简直如有神助
- PHP学习笔记--011 PHP文件处理
- python批量导入MongoDB数据库
- [提示]普通用户使用sealos安装k8s集群的话,默认还是会装到root用户的home目录/root
- Flex 幻灯片播放
- nginx proxy_cache 缓存配置
- 数据结构-Huffman树
- javafx 和swing_Swing和JavaFX:使用JFXPanel
- 机器学习笔记(九)——决策树的生成与剪枝
- java死锁的产生原因,操作系统产生死锁的原因和处理策略
- 关于Python ord()和chr()返回ASCII码和Unicode码的看法
- int是python的内置函数吗_Python内置int函数详细介绍
- android开发入门配置,Android开发入门——Andoird Studio的安装与配置
- 博文视点Open Party第8期
- 重置Winsock2
- 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第三章
- 华为USG6330运维记录-端口回流、策略路由
- [Oracle 11g r2(11.2.0.4.0)]RAC集群常用命令
- 程雷被机器人_机器人登台表演节目?程雷惨遭机器人戏耍郭德纲一旁大笑!
- 国际短信发不出去是怎么回事?