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 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
python实现在字符串中查找子字符串的方法
Jul 11 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
python画图常规设置方式
Mar 05 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Python json读写方式和字典相互转化
Apr 18 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 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
Yii2中datetime类的使用
2016/12/17 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
ext jquery 简单比较
2010/04/07 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
招商业务员岗位职责
2013/12/16 职场文书
学校七一活动方案
2014/01/19 职场文书
2014庆六一活动方案
2014/03/02 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python