python opencv人脸检测提取及保存方法

yipeiwu_com5年前Python基础

注意这里提取到的人脸图片的保存地址要改成自己要保存的地址

opencv人脸的检测模型的路径也要更改为自己安装的opencv的人脸检测模型的路径

import cv2
save_path = 'F:\\face_photo_save\\chenym\\'
cascade = cv2.CascadeClassifier("D:\\opencv249\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt_tree.xml")
cap = cv2.VideoCapture(0)
i = 0
while True:
 ret,frame = cap.read()
 gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
 rect = cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=9,minSize=(50,50),flags = cv2.cv.CV_HAAR_SCALE_IMAGE)
 print "rect",rect
 if not rect is (): 
  for x,y,z,w in rect:
   roiImg = frame[y:y+w,x:x+z]
   cv2.imwrite(save_path+str(i)+'.jpg',roiImg)
   cv2.rectangle(frame,(x,y),(x+z,y+w),(0,0,255),2)
   i +=1
 cv2.imshow('frame',frame)  
 if cv2.waitKey(1) &0xFF == ord('q'):
  break
cap.release()
cv2.destroyAllWindows()

以上这篇python opencv人脸检测提取及保存方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python的三目运算符和not in运算符使用示例

python的三目运算符和not in运算符使用示例

三目运算符也就是三元运算符 一些语言(如Java)的三元表达式形如: 判定条件?为真时的结果:为假时的结果 result=x if x Python的三元表达式有如下几种书写方法...

python中 * 的用法详解

1、表示乘号 2、表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi h...

解决python3 pika之连接断开的问题

问题描述 在消费rabbitMQ队列时, 每次进入回调函数内需要进行一些比较耗时的操作;操作完成后给rabbitMQ server发送ack信号以dequeue本条消息。 问题就发生在发...

Python使用pymysql小技巧

在使用pymysql的时候,通过fetchall()或fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如php方便)。查阅pymysql源代码后,其实获取查询结...

Python3.5 win10环境下导入kera/tensorflow报错的解决方法

本文实例讲述了Python3.5 win10环境下导入keras/tensorflow报错的解决方法。分享给大家供大家参考,具体如下: 我在win10 Python3.5.2安装kera...