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读写ini配置文件方法实例分析
Jun 30 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
Oct 25 Python
Python编写Windows Service服务程序
Jan 04 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
使用Eclipse如何开发python脚本
Apr 11 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
Flask-Mail用法实例分析
Jul 21 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
Python Excel vlookup函数实现过程解析
Jun 22 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP 工厂模式使用方法
2010/05/18 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
JavaScript实现留言板案例
2020/03/17 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
如何在sublime编辑器中安装python
2020/05/20 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
为什么需要版本控制?
2013/08/08 面试题
迷你西餐厅创业计划书范文
2013/12/31 职场文书
测试工程师职业规划书
2014/02/06 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书