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标准库与第三方库详解
Jul 22 Python
详解Python中的正则表达式的用法
Apr 09 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Python正则表达式知识汇总
Sep 22 Python
python Opencv将图片转为字符画
Feb 19 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
使用Python 统计高频字数的方法
Jan 31 Python
pandas分区间,算频率的实例
Jul 04 Python
Pytorch模型转onnx模型实例
Jan 15 Python
python requests模块的使用示例
Apr 07 Python
python+opencv实现视频抽帧示例代码
Jun 11 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面向对象精要总结
2014/11/07 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
深入理解Django的自定义过滤器
2017/10/17 Python
python清除函数占用的内存方法
2018/06/25 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
数字漫画:comiXology
2020/06/13 全球购物
求职信范文英文版
2014/01/05 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers