人脸特征图像存储
- 存储15张人脸特征图像:
import cv2 import dlib import os import sys import random # coding:utf-8 # 存储位置 output_dir = 'M:\python workspace\main\Faces' size = 1080 if not os.path.exists(output_dir): os.makedirs(output_dir) # 改变图片的亮度与对比度 def relight(img, light=1, bias=0): w = img.shape[1] h = img.shape[0] # image = [] for i in range(0, w): for j in range(0, h): for c in range(3): tmp = int(img[j, i, c] * light + bias) if tmp > 255: tmp = 255 elif tmp < 0: tmp = 0 img[j, i, c] = tmp return img # 使用dlib自带的frontal_face_detector作为我们的特征提取器 detector = dlib.get_frontal_face_detector() # 打开摄像头 参数为输入流,可以为摄像头或视频文件 camera = cv2.VideoCapture(0) index = 1 while True: if (index <= 15): # 存储15张人脸特征图像 print('Being processed picture %s' % index) # 从摄像头读取照片 success, img = camera.read() # 转为灰度图片 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用detector进行人脸检测 dets = detector(gray_img, 1) for i, d in enumerate(dets): x1 = d.top() if d.top() > 0 else 0 y1 = d.bottom() if d.bottom() > 0 else 0 x2 = d.left() if d.left() > 0 else 0