简单的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读取html中指定元素生成excle文件示例
Apr 03 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Django Highcharts制作图表
Aug 27 Python
Python中标准模块importlib详解
Apr 16 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 Python
python 实现在Excel末尾增加新行
May 02 Python
python将list转为matrix的方法
Dec 12 Python
如何安装并使用conda指令管理python环境
Jul 10 Python
python爬虫 execjs安装配置及使用
Jul 30 Python
python中class的定义及使用教程
Sep 18 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Python代码中如何读取键盘录入的值
May 27 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
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
python 多进程通信模块的简单实现
2014/02/20 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python 全文检索引擎详解
2017/04/25 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
诉前财产保全担保书
2014/05/20 职场文书
网络营销策划方案
2014/06/04 职场文书
质检员工作总结2015
2015/04/25 职场文书
环境卫生整治简报
2015/07/20 职场文书
2016高考寄语集锦
2015/12/04 职场文书
创业计划书之干洗店
2019/09/10 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript