# _*_ coding:utf-8 _*_
import cv2
import os
CASE_PATH = "E:\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml"
RAW_IMAGE_DIR = r"D:/0408_2/1/"
DATASET_DIR = r"D:/0408_2/cnn_face/jm/"
face_cascade = cv2.CascadeClassifier(CASE_PATH)
#def save_feces(img, name,x, y, width, height):
def Save_faces(img, name,x, y, width, height):
#print(img)
print(img, name,x, y, width, height)
image=img[y:y+height, x:x+width]
#print(image)
cv2.imwrite(name, image)
image_list = os.listdir(RAW_IMAGE_DIR) #列出文件夹下所有的目录与文件
#print(image_list)
count = 166
for image_path in image_list:
#print(image_path)
image = cv2.imread(RAW_IMAGE_DIR + image_path)
#print(RAW_IMAGE_DIR,image_path)
#print(image)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(5, 5), )
for (x, y, width, height) in faces:
#print(x,y,width,height)
Save_faces(image,'%ss%d.bmp'%(DATASET_DIR, count),x,y,width, height+30)
count += 1
1为待裁取头像的存放图像的文件夹!
jm为裁减完头像后存放的文件夹