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生成指定长度的随机数密码
Jan 23 Python
Python中关于字符串对象的一些基础知识
Apr 08 Python
python 容器总结整理
Apr 04 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
对Python中range()函数和list的比较
Apr 19 Python
解读python如何实现决策树算法
Oct 11 Python
Python饼状图的绘制实例
Jan 15 Python
Django restframework 源码分析之认证详解
Feb 22 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
Python进行区间取值案例讲解
Aug 02 Python
python开发制作好看的时钟效果
May 02 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+Ajax实现表单验证的详解
2013/06/25 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
jupyter 导入csv文件方式
2020/04/21 Python
通信工程毕业生求职信
2013/11/16 职场文书
小学生家长寄语
2014/04/02 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
纪检干部学习心得体会
2016/01/23 职场文书