简单的Python人脸识别系统


Posted in Python onJuly 14, 2020

案例一 导入图片

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

# 1.导入库
import cv2

# 2.加载图片
img = cv2.imread('a.png')

# 3.创建窗口
cv2.namedWindow('window 1 haha')

# 4.显示图片
cv2.imshow('window 1',img)

# 5.暂停窗口
cv2.waitKey(0)

# 6.关闭窗口
cv2.destroyAllWindows()

案例二 在图片上添加人脸识别

思路: 1.导入库 2.加载图片 3.加载人脸模型 4.调整图片灰度 5.检查人脸 6.标记人脸 7.创建窗口 8.显示图片 9.暂停窗口 10.关闭窗口

# 1.导入库
import cv2

# 2.加载图片
img = cv2.imread('a.png')

# 3.加载人脸模型,opencv官网下载
face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 4.调整图片灰度:没必要识别颜色,灰度可以提高性能
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)

# 5.检查人脸
faces = face.detectMultiScale(gray)

# 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),4)

# 7.创建窗口  
  cv2.namedWindow('window 1 haha')

# 8.显示图片
cv2.imshow('window 1', img)

# 9.暂停窗口
cv2.waitKey(0)

# 10.关闭窗口
cv2.destroyAllWindows()

案例三 调用摄像头

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

# 1.导入库
import cv2

# 2.打开摄像头
capture = cv2.VideoCapture(0)

# 3.获取摄像头实时画面
cv2.namedWindow('camera')
while True:  
  #3.1 获取摄像头的帧画面  
  ret,frame = capture.read()  
  #3.2 显示图片(渲染画面)  
  cv2.imshow('window 1',frame)  
  #3.3 暂停窗口  
  if cv2.waitKey(5) & 0xFF == ord('q'):
    break
    
# 4.释放资源
capture.release()

# 5.关闭窗口
cv2.destroyAllWindows()

案例四 摄像头识别人脸

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

# 1.导入库
import cv2

# 2.加载人脸模型
face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 3.打开摄像头
capture = cv2.VideoCapture(0)

# 4.创建窗口cv2.namedWindow('window 1')

# 5.获取摄像头实时画面
while True:  
  # 5.1 获取摄像头的帧画面  
  ret,frame = capture.read()  
  # 5.2 图片灰度调整  
  gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)  
  # 5.3 检查人脸  
  faces = face.detectMultiScale(gray)  
  # 5.4 标记人脸  
  for (x, y, w, h) in faces:    
    # 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽    
    cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 4)  
  # 5.5 显示图片    
    cv2.imshow('camera',frame)  
  # 5.6 暂停窗口    
    if cv2.waitKey(5) & 0xFF == ord('q'):      
      break

# 6.释放资源
capture.release()

# 7.关闭窗口
cv2.destroyAllWindows()

以上就是简单的Python人脸识别系统的详细内容,更多关于Python人脸识别的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
Python连接mysql数据库的正确姿势
Feb 03 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
python如何通过实例方法名字调用方法
Mar 21 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
python处理“
Jun 10 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
python程序文件扩展名知识点详解
Feb 27 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
python 如何在list中找Topk的数值和索引
May 20 Python
Python局部变量与全局变量区别原理解析
Jul 14 #Python
Python迭代器协议及for循环工作机制详解
Jul 14 #Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 #Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 #Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 #Python
python3 循环读取excel文件并写入json操作
Jul 14 #Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 #Python
You might like
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python文件和目录操作详解
2015/02/08 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
python的help函数如何使用
2020/06/11 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
机关保密承诺书
2014/06/03 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
文明礼仪倡议书
2015/04/28 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
php引用传递
2021/04/01 PHP
python 破解加密zip文件的密码
2021/04/22 Python
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang
Java中的随机数Random
2022/03/17 Java/Android
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android