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系列之数据处理编程实例(二)
May 22 Python
深入讲解Java编程中类的生命周期
Feb 05 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
Python输出\u编码将其转换成中文的实例
Dec 15 Python
python处理“
Jun 10 Python
Python文本处理简单易懂方法解析
Dec 19 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Python-openCV开运算实例
Jul 05 Python
python 19个值得学习的编程技巧
Aug 15 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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
用cookies来跟踪识别用户
2006/10/09 PHP
PHP中cookies使用指南
2007/03/16 PHP
php部分常见问题总结
2008/03/27 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
Python按行读取文件的简单实现方法
2016/06/22 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
Python装饰器用法实例总结
2018/02/07 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
关于人生的感言
2014/01/17 职场文书
审计主管岗位职责
2014/01/31 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
商场消防演习方案
2014/02/12 职场文书
文化宣传方案
2014/03/13 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
员工教育培训协议书
2014/09/27 职场文书
防暑降温通知书
2015/04/27 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python
Python find()、rfind()方法及作用
2022/12/24 Python