TensorFlow实现人脸识别(5)-------利用训练好的模型实时进行人脸检测

经过前面复杂的操作,训练出来对于某一个人的识别模型。本文将利用该模型对于打开的视频或者摄像头实时的识别该人。

读取视频 ==> 识别人脸 ==> 绘制标志

代码如下:

#-*- 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, minSize=(32, 32))
        
        if len(faceRects) > 0 :
            for faceRect in faceRects:

你可能感兴趣的:(机器学习/TensorFlow)