一、准备依赖库

pip install dlib

pip python-opencv

二、代码实现

#coding: utf-8

"""

从视屏中识别人脸,并实时标出面部特征点

"""

import dlib #人脸识别的库dlib

import cv2 #图像处理的库OpenCv

# 使用特征提取器get_frontal_face_detector

detector = dlib.get_frontal_face_detector()

# 读入视频文件

# cap = cv2.VideoCapture("row.MP4")

#建cv2摄像头对象,这里使用电脑自带摄像头,如果接了外部摄像头,则自动切换到外部摄像头

cap = cv2.VideoCapture(0)

# 设置视频参数,propId设置的视频参数,value设置的参数值

cap.set(3, 480)

# 截图screenshoot的计数器

cnt = 0

# cap.isOpened() 返回true/false 检查初始化是否成功

while(cap.isOpened()):

# cap.read()

# 返回两个值:

# 一个布尔值true/false,用来判断读取视频是否成功/是否到视频末尾

# 图像对象,图像的三维矩阵

flag, im_rd = cap.read()

# 每帧数据延时1ms,延时为0读取的是静态帧

k = cv2.waitKey(1)

# 取灰度

img_gray = cv2.cvtColor(im_rd, cv2.COLOR_RGB2GRAY)

# 使用人脸检测器检测每一帧图像中的人脸。并返回人脸数rects

faces = detector(img_gray, 0)

# 待会要显示在屏幕上的字体

font = cv2.FONT_HERSHEY_SIMPLEX

# 如果检测到人脸

if(len(faces)!=0):

# 对每个人脸都画出框框

for i in range(len(faces)):

# enumerate方法同时返回数据对象的索引和数据,k为索引,d为faces中的对象

for k, d in enumerate(faces):

# 用红色矩形框出人脸

cv2.rectangle(im_rd, (d.left(), d.top()), (d.right(), d.bottom()), (0, 255, 0),2)

# 计算人脸热别框边长

face_width = d.right() - d.left()

#在上方显示文字

cv2.putText(im_rd, str(face_width) , (d.left(), d.top()-20), font, 0.5, (255, 0, 0), 1)

# 标出人脸数

cv2.putText(im_rd, "Faces: "+str(len(faces)), (20,50), font, 1, (0, 0, 255), 1, cv2.LINE_AA)

else:

# 没有检测到人脸

cv2.putText(im_rd, "No Face", (20, 50), font, 1, (0, 0, 255), 1, cv2.LINE_AA)

# 添加说明

im_rd = cv2.putText(im_rd, "S: screenshot", (20, 400), font, 0.8, (0, 0, 255), 1, cv2.LINE_AA)

im_rd = cv2.putText(im_rd, "Q: quit", (20, 450), font, 0.8, (0, 0, 255), 1, cv2.LINE_AA)

#检测按键

k = cv2.waitKey(1)

# 按下s键截图保存

if (k == ord('s')):

cnt+=1

cv2.imwrite("screenshoot"+str(cnt)+".jpg", im_rd)

# 按下q键退出

if(k == ord('q')):

break

# 窗口显示

cv2.imshow("camera", im_rd)

# 释放摄像头

cap.release()

# 删除建立的窗口

cv2.destroyAllWindows()

三、实验结果

python3.8编程实例_Python3.8动态人脸识别实例相关推荐

  1. python动态人脸识别_python3.8动态人脸识别的实现示例

    python3.8动态人脸识别的实现示例 发布时间:2020-10-01 11:26:43 来源:脚本之家 阅读:75 作者:南叔先生 一.准备依赖库 pip install dlib pip pyt ...

  2. python动态人脸识别_python3.8动态人脸识别

    一.准备依赖库 pip install dlib pip python-opencv 二.代码实现 #coding: utf-8 """ 从视屏中识别人脸,并实时标出面部 ...

  3. 基于Java+MySQL 实现(Web)动态人脸识别的认证识别系统【100010315】

    摘 要 在人脸识别领域,主要涉及到两项技术,一项为人脸检测技术,另一项为人脸识别技术.其中,人脸检测技术主要解决存不存在人脸的问题,而人脸识别技术主要解决此人是谁的问题.除此以外,还有人脸对齐.人脸关 ...

  4. php openvc人脸采集,Openvc 动态人脸识别对比学习(004)

    Openvc 动态人脸识别对比学习(004) 所属分类:软件工程 开发工具:C# 文件大小:7617KB 下载次数:33 上传日期:2018-05-14 16:52:57 上 传 者:玉蛰 说明:   ...

  5. 动态人脸识别系统服务器,动态人脸识别监控管理平台的设计与实现

    摘要: 动态人脸视频监控是计算机视觉领域一个新兴的应用方向和备受关注的前沿课题,它结合了计算机科学,机器视觉,图像处理,模式识别,人工智能等多学科技术知识.国内外的动态人脸识别监控系统都非常注重系统运 ...

  6. 《人脸识别原理及算法——动态人脸识别系统研究》—1章1.2节人脸识别相关学科的进展...

    本节书摘来自异步社区<人脸识别原理及算法--动态人脸识别系统研究>一书中的1章1.2节人脸识别相关学科的进展,作者 沈理 , 刘翼光 , 熊志勇,更多章节内容可以访问云栖社区"异 ...

  7. 人脸识别(3)---静态人脸识别和动态人脸识别的区别

    静态人脸识别和动态人脸识别的区别 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术.作为一种新型而且发展较快的技术,很多人对这门技术并没有清晰的理解和认识.比如说,人脸识别有哪些种类,人 ...

  8. 深入动态人脸识别小场景应用,2019年或将迎来爆发期

    人脸识别已经成为人工智能技术的落地风口之一,随着人工智能和深度学习技术的逐渐成熟,人脸识别的商业化落地开始全面加速,智慧学校.工地实名制.会议签到.门禁考勤.访客预约等等,越来越多的小场景应用被解锁. ...

  9. lacp静态和动态区别_静态人脸识别和动态人脸识别有哪些区别

    人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术.随着人脸识别技术的发展,在不同的实际应用场景会有不同的种类,比如说静态人脸识别和动态人脸识别,可应用在不同的场景中.这两者有哪些区别呢? ...

最新文章

  1. flask socket连接mysql_Flask连接mysql,实现页面登录
  2. 【转】系统管理类DOS命令汇总
  3. linux mysql io压力大_MySQL性能调优(四) Linux 磁盘IO
  4. mybatis 忽略实体字段_27道mybatis面试真题,你能答对几道?
  5. 为什么对开发者很重要?
  6. 每日两道前端面试题20190221
  7. Swift - 自定义单元格实现微信聊天界面
  8. centos mysql 允许远程访问
  9. java基础——自动装箱与拆箱
  10. python中pickle模块无法导入_python pickle模块
  11. Spring入门篇——第4章 Spring Bean装配(下)
  12. Word2016删除插入尾注参考文献下横线
  13. BottomNavigationView+ViewPager+Fragment 底部导航按钮
  14. uniapp小程序使用iconfont彩色图标
  15. 伸手摘星,未必如愿,但不会弄脏你的手……
  16. mysql 查看slow query_MySQL慢查询日志(slow log)
  17. cad老是弹出命令中发生异常_CAD出现致命错误的解决方法
  18. linux设备驱动归纳总结(八):1.总线、设备和驱动
  19. iPhone之随机数的生成
  20. codeup3688 行礼托运

热门文章

  1. 浏览器乱码问题的具体解决
  2. 解决RStudio(非conda安装)在使用Anaconda中的R环境时,缺失“ libbz2-1.dll ”而不能正常启动问题
  3. 微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题
  4. OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
  5. java学习之自定义异常
  6. 如何使用Angular JS设置bootstrap navbar活动类?
  7. Windows 11 新功能:管理蓝牙设备将不再困难
  8. File指定过滤器得到需要的文件
  9. scrapy爬取动态网页_scrapy_splash 爬取 js 加载网页初体验
  10. 常见移动机器人多角度对比分析(图片版)