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 可爱的大小写
Sep 06 Python
python中cPickle用法例子分享
Jan 03 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
Python命令启动Web服务器实例详解
Feb 23 Python
python 常见字符串与函数的用法详解
Nov 23 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
pygame实现打字游戏
Feb 19 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python中_del_还原数据的方法
Dec 09 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 Python
python 远程执行命令的详细代码
Feb 15 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
vue ssr 指南详读
2018/06/29 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
基于python实现从尾到头打印链表
2019/11/02 Python
python中删除某个元素的方法解析
2019/11/05 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
大学生村官事迹材料
2014/01/21 职场文书
幼儿教师考核制度
2014/01/25 职场文书
售后服务承诺书范文
2014/03/26 职场文书
普通话宣传标语
2014/06/26 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
python创建字典及相关管理操作
2022/04/13 Python
Redis唯一ID生成器的实现
2022/07/07 Redis
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS
Windows server 2016服务器基本设置
2022/08/14 Servers