Python OpenCV调用摄像头检测人脸并截图


Posted in Python onAugust 20, 2020

本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下

注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarcascade_frontalface_alt.xml,模型可在OpenCV-PCA-KNN-SVM_face_recognition中下载。

使用OpenCV调用摄像头检测人脸并连续截图100张

#-*- coding: utf-8 -*-
# import 进openCV的库
import cv2

###调用电脑摄像头检测人脸并截图

def CatchPICFromVideo(window_name, camera_idx, catch_pic_num, path_name):
 cv2.namedWindow(window_name)

 #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头
 cap = cv2.VideoCapture(camera_idx)

 #告诉OpenCV使用人脸识别分类器
 classfier = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")

 #识别出人脸后要画的边框的颜色,RGB格式, color是一个不可增删的数组
 color = (0, 255, 0)

 num = 0
 while cap.isOpened():
 ok, frame = cap.read() #读取一帧数据
 if not ok:
  break

 grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #将当前桢图像转换成灰度图像

 #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
 faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
 if len(faceRects) > 0:  #大于0则检测到人脸
  for faceRect in faceRects: #单独框出每一张人脸
  x, y, w, h = faceRect

  #将当前帧保存为图片
  img_name = "%s/%d.jpg" % (path_name, num)
  #print(img_name)
  image = frame[y - 10: y + h + 10, x - 10: x + w + 10]
  cv2.imwrite(img_name, image,[int(cv2.IMWRITE_PNG_COMPRESSION), 9])

  num += 1
  if num > (catch_pic_num): #如果超过指定最大保存数量退出循环
   break

  #画出矩形框
  cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2)

  #显示当前捕捉到了多少人脸图片了,这样站在那里被拍摄时心里有个数,不用两眼一抹黑傻等着
  font = cv2.FONT_HERSHEY_SIMPLEX
  cv2.putText(frame,'num:%d/100' % (num),(x + 30, y + 30), font, 1, (255,0,255),4)

  #超过指定最大保存数量结束程序
 if num > (catch_pic_num): break

 #显示图像
 cv2.imshow(window_name, frame)
 c = cv2.waitKey(10)
 if c & 0xFF == ord('q'):
  break

  #释放摄像头并销毁所有窗口
 cap.release()
 cv2.destroyAllWindows()

if __name__ == '__main__':
 # 连续截100张图像,存进image文件夹中
 CatchPICFromVideo("get face", 0, 99, "/image")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用opencv驱动摄像头的方法
Aug 03 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python简易实现任意位数的水仙花实例
Nov 13 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
python 连续不等式语法糖实例
Apr 15 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
Jan 06 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 #Python
Django 静态文件配置过程详解
Jul 23 #Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 #Python
pandas通过字典生成dataframe的方法步骤
Jul 23 #Python
Python基于OpenCV实现人脸检测并保存
Jul 23 #Python
python 读取修改pcap包的例子
Jul 23 #Python
Django 用户认证组件使用详解
Jul 23 #Python
You might like
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
教你如何使用php session
2013/10/28 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
php微信开发之图片回复功能
2018/06/14 PHP
PHP7内核之Reference详解
2019/03/14 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
linux下安装easy_install的方法
2013/02/10 Python
python装饰器深入学习
2018/04/06 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python实现大学人员管理系统
2019/10/25 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
观看《永远的雷锋》心得体会
2014/03/12 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
资金申请报告范文
2015/05/14 职场文书
社区低保工作总结2015
2015/07/23 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书