python openCV实现摄像头获取人脸图片


Posted in Python onAugust 20, 2020

本文实例为大家分享了python openCV实现摄像头获取人脸图片的具体代码,供大家参考,具体内容如下

在机器学习中,训练模型需要大量图片,通过openCV中的库可以快捷的调用摄像头,截取图片,可以快速的获取大量人脸图片

需要注意将CascadeClassifier方法中的地址改为自己包cv2包下面的文件

import cv2

def load_img(path,name,mun = 100,add_with = 0):
 # 获取人脸识别模型
 # 
 # 
 #以下路径需要更改为自己环境下xml文件
 #一般在环境下的Liba\site-packages\cv2\data\haarcascade_frontalface_alt2.xml
 classfier = cv2.CascadeClassifier('F:\\pyhton\\pytonApp\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt2.xml')
 #
 #
 # 创建一个窗口
 cv2.namedWindow('face')
 # 打开第一个个摄像头
 cap = cv2.VideoCapture(0)

 i = 0 # 计数
 if cap.isOpened():
  while i < mun:
   ok,frame = cap.read() # 读取一帧图片
   if not ok:
    continue

   faces = classfier.detectMultiScale(frame,1.2,3,minSize=(32,32))

   if len(faces) > 0:
    for face in faces:
     x, y, w, h = face
     cv2.rectangle(frame,(x-add_with,y-add_with), (x+w+add_with,y+h+add_with), (0,255,0), 2)
     img = frame[y-add_with:y+h+add_with,x-add_with:x+w+add_with]
     save_path = path+name+'_'+str(i)+'.jpg'
     print(save_path)
     cv2.imwrite(save_path,img)
     i += 1

   cv2.imshow('face', frame)
   c = cv2.waitKey(10)
   if c & 0xFF == ord('q'):
    break

  cap.release()
  cv2.destroyAllWindows()

if __name__ == '__main__' :
 # 第一个参数为保存图片的路径
 # 第二个参数为保存图片名字的开头
 # 第三个参数为图片的数量
 # 第四个参数可以调节图片的大小
 load_img('E:\\Screenshots\\home\\','rongdang',1000,20)

效果如下:

python openCV实现摄像头获取人脸图片

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

Python 相关文章推荐
Python使用正则匹配实现抓图代码分享
Apr 02 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
Python编程之属性和方法实例详解
May 19 Python
Python制作爬虫抓取美女图
Jan 20 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
Django保护敏感信息的方法示例
May 09 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python反扒机制的5种解决方法
Feb 06 Python
详解Python中的for循环
Apr 30 Python
Python实现自动签到脚本功能
Aug 20 #Python
python如何随机生成高强度密码
Aug 19 #Python
python实现图片转换成素描和漫画格式
Aug 19 #Python
python+django+selenium搭建简易自动化测试
Aug 19 #Python
python 中的命名空间,你真的了解吗?
Aug 19 #Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 #Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 #Python
You might like
php获取英文姓名首字母的方法
2015/07/13 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python中有趣在__call__函数
2015/06/21 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
django批量导入xml数据
2016/10/16 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
Python 私有化操作实例分析
2019/11/21 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
浅析python函数式编程
2020/09/26 Python
实习单位接收函
2014/01/11 职场文书
学生思想表现的评语
2014/01/30 职场文书
预备党员公开承诺书
2014/05/28 职场文书
奥运会口号
2014/06/13 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
Python机器学习之底层实现KNN
2021/06/20 Python
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL