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字符串加密解密的三种方法分享(base64 win32com)

1. 最简单的方法是用base64: 复制代码 代码如下:import base64 s1 = base64.encodestring('hello world')s2 = base64...

numpy中的ndarray方法和属性详解

NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当...

python出现"IndentationError: unexpected indent"错误解决办法

python出现"IndentationError: unexpected indent"错误解决办法

python出现"IndentationError: unexpected indent"错误解决办法 Python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误...

浅谈Python Opencv中gamma变换的使用详解

伽马变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。 伽马...

Django自定义分页效果

Django自定义分页效果

分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置。 确定分页需求: 1. 每页显示的数据条数 2. 每页显示页号链接数...