本章重点内容:

1、python写人脸识别

2、选择OpenCv框架

案例1

导入图片并打开显示

思路:1、导入库  2、加载图片  3、创建窗口  4、显示图片  5、暂停窗口  6、关闭窗口

 #1、导入库 
import cv2
# 2、加载图片
img = cv2.imread("5.png")
# 3、创建窗口
cv2.namedWindow('windows_cv2')
# 4、显示图片  
cv2.imshow('photo',img)
# 5、暂停窗口 
cv2.waitKey(0)
# 6、关闭窗口
cv2.destroyAllWindows()

案例2

在识别的图片上面添加人脸识别:重点注意:需要添加模型库

思路:1、导入库  2、加载图片  3、加载人脸模型  4、调整图片灰度  5、检查人脸

      6、标记人脸  7、创建窗口  8、显示图片  9、暂停窗口  10、关闭窗口

 """案例2、图片中人物脸部识别"""
#1、导入库
import cv2
# 2、加载图片
img = cv2.imread('1.jpg')
# 3、加载人脸模型
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 4、调整图片灰度(人脸识别没必要识别颜色,灰度能提高性能)
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
# 5、检查人脸(scaleFactor=1.15,minNeighbors=5,flags = cv2.CASCADE_SCALE_IMAGE,minSize=(5,5)) 这几项都可以选择默认)
faces = face_cascade.detectMultiScale(gray,
scaleFactor=1.15,
minNeighbors=5,
flags = cv2.CASCADE_SCALE_IMAGE,
minSize=(5,5))
#6、标记人脸
for (x,y,w,h) in faces:
#里面有4个参数1、写图片2、坐标原点3、识别大小4、颜色5、线宽
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) # 7、创建窗口
cv2.namedWindow('windows')
# 8、显示图片
cv2.imshow('picture',img)
# 9、暂停窗口 
cv2.waitKey(0)
# 10、关闭窗口
cv2.destroyAllWindows()

案例3

调用摄像头

思路:1、导入库  2、打开摄像头  3、获取摄像头实时画面  4、释放资源   10、关闭窗口

 """案例3、打开电脑摄像头实时画面"""
#1、导入库
import cv2
# 2、打开摄像头
capture = cv2.VideoCapture(0)
# 3、获取摄像头实时画面
cv2.namedWindow('xiong')
while True:
#读取摄像头的帧画面
ret,frame = capture.read()
#显示图片
print(ret)
cv2.imshow('picture',frame)
#暂停窗口
if cv2.waitKey(5) & 0xFF == ord('q'):
break
# 4、释放资源
capture.release()
# 5、关闭窗口
cv2.destroyAllWindows()

案例4

在识别的图片上面添加人脸识别:重点注意:需要添加模型库

思路:1、导入库  2、打开人脸模型  3、打开摄像头  4、创建窗口  5、获取摄像头实时画面  6、释放资源  7、关闭窗口

 """案例4、打开电脑摄像头实时捕捉人脸"""
#1、导入库
import cv2
# 2、加载人脸模型
# faces_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
# 3、打开摄像头
capture = cv2.VideoCapture(0)
# 4、创建窗口
cv2.namedWindow('xiong')
# 5、获取摄像头实时画面
while True:
#读取摄像头帧画面 ret打开成功为True ,frame是摄像头画面
ret,frame = capture.read()
#图片调整灰度
gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
#检测人脸
faces = faces_cascade.detectMultiScale(gray)
#标记人脸
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)
#显示图片
cv2.imshow('photo',frame)
#暂停窗口
if cv2.waitKey(5) & 0xFF == ord('q'):
break # 6、释放资源
capture.release()
# 7、关闭窗口
cv2.destroyAllWindows()

opencv-Python---动态人脸捕捉的更多相关文章

  1. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  2. 手把手教你如何用 OpenCV + Python 实现人脸识别

    下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like 通俗的来讲,就是作为人脸特 ...

  3. 手把手教你如何用 OpenCV + Python 实现人脸检测

    配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like Haar-like百科释义.通俗的来讲 ...

  4. Android 中使用 dlib+opencv 实现动态人脸检测

    1 概述 完成 Android 相机预览功能以后,在此基础上我使用 dlib 与 opencv 库做了一个关于人脸检测的 demo.该 demo 在相机预览过程中对人脸进行实时检测,并将检测到的人脸用 ...

  5. opencv python训练人脸识别

    总计分为三个步骤 一.捕获人脸照片 二.对捕获的照片进行训练 三.加载训练的数据,识别 使用python3.6.8,opencv,numpy,pil 第一步:通过笔记本前置摄像头捕获脸部图片 将捕获的 ...

  6. opencv+python+dlib人脸关键点检测、实时检测

    安装的是anaconde3.python3.7.3,3.7环境安装dlib太麻烦, 在anaconde3中新建环境python3.6.8, 在3.6环境下安装dlib-19.6.1-cp36-cp36 ...

  7. opencv+python实时人脸检测、磨皮

    import numpy as np import cv2 cap = cv2.VideoCapture(0) face_cascade = cv2.CascadeClassifier("d ...

  8. 使用OpenCV和Python进行人脸识别

    介绍 人脸识别是什么?或识别是什么?当你看到一个苹果时,你的大脑会立刻告诉你这是一个苹果.在这个过程中,你的大脑告诉你这是一个苹果水果,用简单的语言来说就是识别.那么什么是人脸识别呢?我肯定你猜对了. ...

  9. Android+openCV 动态人脸检测

    动态人脸检测前提是需要打开摄像头. 网上看了很多教程,我知道的有两种方式打开摄像头: JavaCameraView mCameraView = new JavaCameraView(this, -1) ...

随机推荐

  1. U3D-FSM有限状态机的简单设计

    http://coder.beitown.com/archives/592 在之前的文章里介绍了一个基础U3D状态机框架(Unity3D游戏开发之状态流框架)即大Switch的枚举状态控制.这种方法虽 ...

  2. 某MDU产品OMCI软件升级加速方案

    说明 本文基于某GPON MDU产品的当前情况,提出OMCI升级的加速方案. 因时间仓促和水平限制,文中难免存在错漏和不足之处,敬请指正. 一  问题提出 根据G.988标准相关描述,软件升级过程可分 ...

  3. Promise 必知必会的面试题

    Promise 想必大家都十分熟悉,想想就那么几个 api,可是你真的了解 Promise 吗?本文根据 Promise 的一些知识点总结了十道题,看看你能做对几道. 以下 promise 均指代 P ...

  4. windows中安装pip,setuptools,django等

    1,安装Python3.6 (下载exe文件,双击安装)      注意设置环境变量,让Python的在任意位置都可以执行 .Python 下载地址:https://www.python.org/do ...

  5. 关于servlet3.0中的异步servlet

    刚看了一下维基百科上的介绍,servlet3.0是2009年随着JavaEE6.0发布的: 到现在已经有六七年的时间了,在我第一次接触java的时候(2011年),servlet3.0就已经出现很久了 ...

  6. 总结一下最近用到的技术(1)--ultraESB

    最近项目中方法用到了一些新的东西,由于之前没有用到过,现在总结一下,方便以后查阅,本篇文章介绍ultraESB,接下来的文章会介绍JsonSchema,JsonSchamaValidator,Json ...

  7. Open XML C# and Word docx documents

    openxml sdk2.5  : http://download.microsoft.com/download/5/5/3/553C731E-9333-40FB-ADE3-E02DC9643B31/ ...

  8. phantomjs试玩

    简单来说,phantomjs就是一个运行在node上的webkit内核,支持DOM渲染,css选择器,Canvas,SVG等,在浏览器上能做的事情,理论上,phantomjs 都能模拟做到. phan ...

  9. [转]理解Linux的处理器负载均值

    [转自]http://www.mike.org.cn/articles/understanding-of-linux-processor-load-average/ 你可能对于Linux的负载均值(l ...

  10. wpgcms---banner图怎么调用

    使用wpgcms调用banner图,首先新建应用为 自定义应用,然后添加对应的字段信息,例如: 具体调用方式: <ul> {% set bannerlist = wpg.appdata.g ...