python openCV实现摄像头获取人脸图片
作者:weixin_43863419 发布时间:2021-08-16 08:21:03
标签:python,openCV,人脸图片
本文实例为大家分享了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)
效果如下:
来源:https://blog.csdn.net/weixin_43863419/article/details/88364128
0
投稿
猜你喜欢
- 1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录
- 方法一【推荐】、用js插入flash,可防止虚线框激活建立一个ShowFlash.js文件,拷贝以下代码:function sho
- 一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用
- 在实现TextStraem的时候,找到判断文件编码的代码是VBS的,但是在JScript中是没有ASC等函数的,也不能对二进制数据进行处理,
- <?php //本功能主要是利用文件修改时间函数filemtime与现在时间作减法判断是否更新内容。 $cahetime=2;//设置
- 1.查询表名: 代码如下:select table_name,tablespace_name,temporary from user_tab
- asp中怎么替换最后一个逗号为空字符串?举例 aaa,bbb,ccc,eee, 这个字符串怎么让最后一个逗号变没,其他的不变啊 ?问题补充:
- 引言最常见的闭包 (Closure) 范式大家都很熟悉了:(function() {// ...})(); 很
- 有过相关经验的朋友都知道,Jscript的效率毕竟有限,在数组中查找数据时如果用常规的算法来做执行起来会很慢。例如在一个含500个字符串的d
- <%dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fsoM
- 多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的。我
- 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS window”)并输入命令:C
- Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直
- 我们今天就来看一下PHP 7正式版的算法和 wordpress 应用在其上的性能表现。PHP7 的安装,真是非常地向下兼容,下载,解压,把之
- BIT[(M)]位字段类型。M表示每个值的位数,范围为从1到64。如果M被省略, 默认为1。TINYINT[(M)] [UNSIGNED]
- 我的长博文不少,比较影响阅读体验,有必要添加一个文章目录功能。相比 Wordpress, Typecho 的插件就比较少了。我想找一个像掘金
- go-micro是golang的一个微服务框架。这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式。1、安装protoc这
- android开发中在和服务器端接口对接时出现编码问题,从服务器端获取到的数据是 "\u8bbe\u59071ID-\u
- 推荐idea最新激活码:最新Idea激活码永久激活(最新测试有效)https://www.jb51.net/article/178193.h
- 在java中一个hashCode算法,可以用来计算一个字符串的hash值,今天一个朋友突然问俺能不能在js中计算hashCode,要求和ja