经过前面复杂的操作,训练出来对于某一个人的识别模型。本文将利用该模型对于打开的视频或者摄像头实时的识别该人。
读取视频 ==> 识别人脸 ==> 绘制标志
代码如下:
#-*- coding:UTF-8 -*-
import tensorflow as tf
import numpy as np
import sys
import gc
from face_train import Model
import cv2
def IdentifyFace(window_name):
cv2.namedWindow(window_name)
model = Model()
model.load_model(file_path = 'face.model.h5')
cap = cv2.VideoCapture("test.wmv") #获取视频数据
classifier=cv2.CascadeClassifier('/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml')
color=(0,255,0)
num = 0
while cap.isOpened():
ok,frame = cap.read() #ok表示返回的状态 frame存储着图像数据矩阵 mat类型的
if not ok:
break
#图像灰度化
grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
#加载分类器 opencv自带
faceRects = classifier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3,