def recFace():
    # 加载模型
    counter = 0
    for dir_item in os.listdir(path_name):
        counter += 1
        if dir_item.endswith('.face.model.h5'):
            model = Model()
            model.load_model(file_path=path_name + dir_item)
            # 框住人脸的矩形边框颜色
            color = (0, 255, 0)
            # 捕获指定摄像头的实时视频流
            cap = cv2.VideoCapture(0)
            # 循环检测识别人脸
            while True:
                try:
                    ret, frame = cap.read()  # 读取一帧视频
                    # 图像灰化,降低计算复杂度
                    frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
                    # 使用人脸识别分类器,读入分类器
                    cascade = cv2.CascadeClassifier(
                        r"./openCv/opencv/data/haarcascades/" +
                        "haarcascade_frontalface_default.xml")
                    # 利用分类器识别出哪个区域为人脸
                    faceRects = cascade.detectMultiScale(frame_gray,
                                                         scaleFactor=1.2,
                                                         minNeighbors=3,
                                                         minSize=(70, 70))
                    for (x, y, w, h) in faceRects:
                        # 截取脸部图像提交给模型识别这是谁
                        image = frame[y - 10:y + h + 10, x - 10:x + w + 10]
                        faceID = model.face_predict(image)
                        print(faceID)
                        cv2.rectangle(frame, (x, y), (x + h, y + w), color, 2)
                        # 如果是“我”
                        if faceID == 0:
                            # 文字提示是谁
                            cv2.putText(frame,
                                        dir_item.split('.')[0], (x, y + 1),
                                        cv2.FONT_HERSHEY_SIMPLEX, 0.7,
                                        (115, 233, 86), 2)
                        else:
                            pass
                    cv2.imshow("Detect my face", frame)
                    # 等待10毫秒看是否有按键输入
                    k = cv2.waitKey(10)
                    # 如果输入q则退出循环
                    if k & 0xFF == ord('q'):
                        break
                except BaseException:
                    continue
            # 释放摄像头并销毁所有窗口
            cap.release()
            cv2.destroyAllWindows()
            break
        elif counter == len(os.listdir(path_name)):
            print('No model has been found, please craft a model first!')
            break
Пример #2
0
class Face_recognition():
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

    def __init__(self):
        with open('contrast_table', 'r') as f:
            self.contrast_table = json.loads(f.read())
        self.model = Model()
        # 加载训练数据
        self.model.load_model(file_path='F:/bs_data/lfb.h5')
        # 框住人脸的矩形边框颜色
        self.color = (0, 255, 0)

        # 捕获指定摄像头的实时视频流
        self.cap = cv2.VideoCapture(0)
        # 调用人脸识别器
        self.cascade_path = "D:\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml"

    def recongition(self):
        while True:
            ret, frame = self.cap.read()  # 读取一帧视频
            if ret is True:
                # 图像灰化,降低计算复杂度
                frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            else:
                continue
            # 使用人脸识别分类器,读入分类器
            cascade = cv2.CascadeClassifier(self.cascade_path)
            # 利用分类器识别出哪个区域为人脸
            faceRects = cascade.detectMultiScale(frame_gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
            if len(faceRects) > 0:
                for faceRect in faceRects:
                    x, y, w, h = faceRect
                    # 截取脸部图像提交给模型识别这是谁
                    image = frame[y - 10: y + h + 10, x - 10: x + w + 10]
                    probability, name_number = self.model.face_predict(image)
                    print("name_number:", name_number)
                    name = self.contrast_table[str(name_number)]
                    print('name:', name)

                    cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), self.color, thickness=2)

                    # 标出识别者
                    # cv2.putText(frame, name, (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)
                    if probability > 0.7:
                         cv2.putText(frame, name, (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)
                    else:
                         cv2.putText(frame, 'unknow', (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)

            cv2.imshow("face_recognition", frame)

            # 等待10毫秒看是否有按键输入
            k = cv2.waitKey(10)
            if k & 0xFF == ord('q'):
                break
        self.cap.release()
        cv2.destroyAllWindows()
Пример #3
0
def upload():
    model = Model()
    model.load_model(file_path='./model/face.model')
    file = request.files.get('file')
    f = io.imread(file)
    probability, name_number = model.face_predict(
        transform.resize(f, (160, 160, 3)))
    keyword_list = ['id', 'name', 'time']
    path = "log.csv"
    s = SaveCSV()
    with open('contrast_table', 'r') as f:
        contrast_table = json.loads(f.read())
    res = {}
    res['id'] = create_id()
    res['name'] = contrast_table[str(name_number)]
    res['time'] = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    s.save(keyword_list, path, res)

    # res = "识别结果:" + contrast_table[str(name_number)]
    return json.dumps(res, ensure_ascii=False)
Пример #4
0
class Face_recognition():
    def __init__(self):
        with open('contrast_table', 'r') as f:
            self.contrast_table = json.loads(f.read())
        self.model = Model()
        self.model.load_model(file_path='G:\\face\\renlian\\faces.model')
        # 框住人脸的矩形边框颜色
        self.color = (0, 255, 0)

        # 捕获指定摄像头的实时视频流
        self.cap = cv2.VideoCapture(0)

        # 人脸识别分类器本地存储路径
        self.cascade_path = "haarcascade_frontalface_default.xml"

    def recongition(self):
        while True:
            ret, frame = self.cap.read()  # 读取一帧视频

            if ret is True:

                # 图像灰化,降低计算复杂度
                frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            else:
                continue
            # 使用人脸识别分类器,读入分类器
            cascade = cv2.CascadeClassifier(self.cascade_path)

            # 利用分类器识别出哪个区域为人脸
            faceRects = cascade.detectMultiScale(frame_gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
            if len(faceRects) > 0:
                for faceRect in faceRects:
                    x, y, w, h = faceRect

                    # 截取脸部图像提交给模型识别这是谁
                    image = frame[y - 10: y + h + 10, x - 10: x + w + 10]
                    probability, name_number = self.model.face_predict(image)
                    print(name_number)
                    name = self.contrast_table[str(name_number)]

                    # print('name_number:', name_number)
                    cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), self.color, thickness=2)

                    # 文字提示是谁
                    cv2.putText(frame, name, (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)
                    # if probability > 0.7:
                    #     cv2.putText(frame, name, (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)
                    # else:
                    #     cv2.putText(frame, 'unknow', (x + 30, y + 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 255), 2)

            cv2.imshow("face_recognition", frame)

            # 等待10毫秒看是否有按键输入
            k = cv2.waitKey(10)
            # 如果输入q则退出循环
            if k & 0xFF == 27:
                break

        # 释放摄像头并销毁所有窗口
        self.cap.release()
        cv2.destroyAllWindows()
Пример #5
0
    def face_det(self):

        if len(sys.argv) != 1:
            print("Usage:%s camera_id\r\n" % (sys.argv[0]))
            sys.exit(0)

        #加载模型
        model = Model()
        model.load_model(file_path='./model/aggregate.face.model.h5')

        # 框住人脸的矩形边框颜色
        color = (0, 255, 0)

        # 人脸识别分类器本地存储路径
        cascade_path = r"D:\user\Software\Anaconda\Lib\site-packages\cv2\data\haarcascade_frontalface_alt2.xml"

        # 循环检测识别人脸
        while self.cap.isOpened():
            ret, frame = self.cap.read()  # 读取一帧视频
            #facecolor = frame

            if ret is True:

                # 图像灰化,降低计算复杂度
                frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            else:
                continue
            # 使用人脸识别分类器,读入分类器
            cascade = cv2.CascadeClassifier(cascade_path)

            # 利用分类器识别出哪个区域为人脸
            faceRects = cascade.detectMultiScale(frame_gray,
                                                 scaleFactor=1.2,
                                                 minNeighbors=2,
                                                 minSize=(32, 32))
            if len(faceRects) > 0:
                for faceRect in faceRects:
                    x, y, w, h = faceRect

                    # 截取脸部图像提交给模型识别这是谁
                    image = frame[y:y + h, x:x + w]  #(改)
                    faceID = model.face_predict(image)
                    #print(model.)

                    cv2.rectangle(frame, (x - 10, y - 10),
                                  (x + w + 10, y + h + 10),
                                  color,
                                  thickness=2)
                    #face_id判断(改)
                    for i in range(len(os.listdir('./data/'))):
                        if i == faceID:
                            #文字提示是谁
                            cv2.putText(
                                frame,
                                os.listdir('./data/')[faceID],
                                (x + 30, y + 30),  # 坐标
                                cv2.FONT_HERSHEY_SIMPLEX,  # 字体
                                1,  # 字号
                                (255, 0, 255),  # 颜色
                                2)  # 字的线宽
                        else:
                            # 文字提示是谁
                            #cv2.putText(frame, '陌生人',
                            #            (x + 30, y + 30),  # 坐标
                            #            cv2.FONT_HERSHEY_SIMPLEX,  # 字体
                            #            1,  # 字号
                            #            (255, 0, 255),  # 颜色
                            #            2)  # 字的线宽
                            frame = self.cv2ImgAddText(frame, "陌生人", x + 30,
                                                       y + 30, (255, 0, 255),
                                                       25)
                            #frame = Image.blend(frame, img, 0.3)
                            #cv2.imshow('show', img)

            show = cv2.cvtColor(frame,
                                cv2.COLOR_BGR2RGB)  #视频色彩转换回RGB,这样才是现实的颜色
            #show = cv2.resize(self.image,(840,680))
            showImage = QtGui.QImage(
                show.data, show.shape[1], show.shape[0],
                QtGui.QImage.Format_RGB888)  #把读取到的视频数据变成QImage形式
            #hanziimg = QtGui.QImage(img.data,img.shape[1],img.shape[0],QtGui.QImage.Format_RGB888)
            self.cameraLabel.setPixmap(
                QtGui.QPixmap.fromImage(showImage))  #往显示视频的Label里 显示QImage
            #self.cameraLabel.setPixmap(QtGui.QPixmap.fromImage(hanziimg))
            #等待10毫秒看是否有按键输入,如果注释掉就无法显示视频
            cv2.waitKey(10)

        # 释放摄像头并销毁所有窗口
        self.cap.release()
        cv2.destroyAllWindows()
Пример #6
0
import sys
from face_train import Model
from load_dataset import load_dataset, resize_image, IMAGE_SIZE, json_labels_read_from_file
from PIL import Image
import tensorflow as tf

if __name__ == '__main__':
    # 加载模型
    model = Model()
    model.load_model(file_path='./model/face.h5')

    classes = json_labels_read_from_file('dataset/labels.json')

    img_path = './data/temp/1.jpg'
    img = Image.open(img_path)
    img = img.resize((IMAGE_SIZE, IMAGE_SIZE))  # resize图片大小
    image = img.tobytes()  # 将图片转化为原生bytes
    image = tf.io.decode_raw(image, tf.uint8)
    print(image.shape)
    image = tf.reshape(image, [1, IMAGE_SIZE, IMAGE_SIZE, 3])
    print(image.shape)
    #image = tf.cast(image, tf.float32) * (1. / 255) - 0.5  # 归一化

    faceID = model.face_predict(image)

    print('faceID: %d' % faceID)
    print(classes.get(str(faceID)))
Пример #7
0
#-*- coding: utf-8 -*-

import cv2
from face_train import Model

if __name__ == '__main__':

    #加载模型
    model = Model()
    model.load_model(file_path='face_model_re.h5')

    color = (0, 255, 0)
    cap = cv2.VideoCapture(0)
    cascade_path = "E:\cs\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml"

    #循环检测识别人脸
    while True:
        _, frame = cap.read()  #读取一帧视频
        frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cascade = cv2.CascadeClassifier(cascade_path)
        faceRects = cascade.detectMultiScale(frame_gray,
                                             scaleFactor=1.2,
                                             minNeighbors=3,
                                             minSize=(32, 32))
        if len(faceRects) > 0:
            for faceRect in faceRects:
                x, y, w, h = faceRect

                image = frame[y - 10:y + h + 10, x - 10:x + w + 10]
                faceID = model.face_predict(image)
                textf = ""
Пример #8
0
# coding=gbk
################下面的计划还是不用自己写的cnn,用vgg16卷积模型来进行图片的训练######################
################人脸的图片对光的影响很大,粗腰对图片进行预处理#####################################
import cv2
import sys

from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path='./lbo.face.model.h5')

    # 框住人脸的矩形边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = "F:\\Anaconda\\Library\\etc\\haarcascades\\haarcascade_frontalface_default.xml"

    # 循环检测识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频
        if ret is True:
Пример #9
0
#-*- coding: utf-8 -*-
 
import cv2
import sys
import gc
from face_train import Model
 
if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)
        
    #加载模型
    model = Model()
    model.load_model(file_path = 'D:\\model\\sjq.face.model.h5')    
              
    #框住人脸的矩形边框颜色       
    color = (0, 255, 0)
    
    #捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)
    
    #人脸识别分类器本地存储路径
    cascade_path = "D:\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml"    
    
    #循环检测识别人脸
    while True:
        ret, frame = cap.read()   #读取一帧视频
        
        if ret is True:
            
Пример #10
0
#-*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    #加载模型
    model = Model()
    model.load_model(file_path='model/me.face.model.h5')

    #框住人脸的矩形边框颜色
    color = (0, 255, 0)

    #捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    #人脸识别分类器本地存储路径
    cascade_path = "haarcascade_frontalface_alt2.xml"

    #循环检测识别人脸
    while True:
        _, frame = cap.read()  #读取一帧视频

        #图像灰化,降低计算复杂度
        frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        #使用人脸识别分类器,读入分类器
        cascade = cv2.CascadeClassifier(cascade_path)
Пример #11
0
import cv2
import sys
import os
from face_train import Model
from tkinter import *
from PIL import Image, ImageTk

model = Model()
model.load_model(file_path='./model/zhenghuireid.model.h5')
cascade_path = "/Users/zhenghuiup/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml"
cascade = cv2.CascadeClassifier(cascade_path)
faceRects = cascade.detectMultiScale(frame_gray,
                                     scaleFactor=1.2,
                                     minNeighbors=3,
                                     minSize=(32, 32))

image = cv2.imread('./GUI/my_image.jpg')
faceID = model.face_predict(image)


class Window(Frame):
    def __init__(self, master=None):

        Frame.__init__(self, master)

        self.master = master

        self.init_window()

    def init_window(self):
Пример #12
0
# -*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path='D:\\data\\liuhaozhe.face.model.h5')

    # 框住人脸的矩形边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = "D:\\Firefoxdownloads\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml"

    # 循环检测识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频

        if ret is True:
Пример #13
0
import cv2
import sys
import os
from face_train import Model

if __name__ == '__main__':
    project_path = os.path.abspath(os.path.join(os.getcwd(), "../../.."))

    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path=project_path+'model/sakura.face.model.h5')

    # 框住人脸的矩形边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = cv2.data.haarcascades + 'haarcascade_frontalface_alt2.xml'

    # 循环检测识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频

        if ret is True:
Пример #14
0
#-*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    #載入模型
    model = Model()
    model.load_model(file_path='./model/liziqiang.face.model.h5')

    #框住人臉的矩形邊框顏色
    color = (0, 255, 0)

    #捕獲指定攝像頭的實時視訊流
    cap = cv2.VideoCapture(0)

    #人臉識別分類器本地儲存路徑
    cascade_path = "H:\\opencv\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml"

    #迴圈檢測識別人臉
    while True:
        ret, frame = cap.read()  #讀取一幀視訊

        if ret is True:
Пример #15
0
import cv2
import sys
#import importlib

from face_train import Model  # module_path

module_path = './model/my.face.model.h5'

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    #加载模型
    model = Model()
    model.load_model(file_path=module_path)

    #框住人脸的矩形边框颜色
    color = (0, 230, 0)

    #捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)
    #("http://*****:*****@192.168.43.1:8081/")

    #人脸识别分类器本地存储路径
    cascade_path = "E:\\Anaconda3\\pkgs\\libopencv-3.4.2-h20b85fd_0\\Library\\etc\\haarcascades\\haarcascade_frontalface_alt.xml"

    #循环检测识别人脸
    while True:
        ret, frame = cap.read()  #读取一帧视频
Пример #16
0
import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path='D:/model/ZCM.face.model.h5')

    # 框住人脸的边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = 'C:\\projects\\opencv-python\\opencv\modules\\objdetect\\src\\cascadedetect\\haarcascade_frontalface_default.xml'

    # 循环识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频

        if ret is True:
            # 图像灰度化,降低计算复杂度
            frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        else:
Пример #17
0
#-*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    #加载模型
    model = Model()
    model.load_model(file_path='./model/bochendong.face.model.h5')

    #框住人脸的矩形边框颜色
    color = (0, 255, 0)

    #捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    #人脸识别分类器本地存储路径
    cascade_path = "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml"

    #循环检测识别人脸
    while True:
        ret, frame = cap.read()  #读取一帧视频

        if ret is True:
labels = read_path(path_name)
labels = [name.split('\\')[-1] for name in labels]

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    #加载模型
    model = Model()
    model.load_model(file_path='./model/WHY.face.model.h5')

    #框住人脸的矩形边框颜色
    color = (0, 255, 0)

    #捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    #人脸识别分类器本地存储路径
    cascade_path = "./haarcascade_frontalface_alt2.xml"

    #循环检测识别人脸
    while True:
        ret, frame = cap.read()  #读取一帧视频

        if ret is True:
Пример #19
0
import cv2
import sys
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    model = Model()
    model.load_model()

    color = (0, 255, 0)

    cap = cv2.VideoCapture(0)
    cascade_path = "D:\\open_cv\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml"
    while cap.isOpened():
        ret, frame = cap.read()

        if ret:
            frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        else:
            continue

        cascade = cv2.CascadeClassifier(cascade_path)
        faceRects = cascade.detectMultiScale(frame_gray,
                                             scaleFactor=1.2,
                                             minNeighbors=3,
                                             minSize=(32, 32))
        if len(faceRects) > 0:
            for faceRect in faceRects:
Пример #20
0
# -*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path='./model/manwanting.face.model.h5')

    # 框住人脸的矩形边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = "D:\\openvc\\haarcascade_frontalface_default.xml"

    # 循环检测识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频

        if ret is True:
# -*- coding: utf-8 -*-

import cv2
import sys
import gc
from face_train import Model

if __name__ == '__main__':
    if len(sys.argv) != 1:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
        sys.exit(0)

    # 加载模型
    model = Model()
    model.load_model(file_path='./model/qizhiguo.face.model.h5')

    # 框住人脸的矩形边框颜色
    color = (0, 255, 0)

    # 捕获指定摄像头的实时视频流
    cap = cv2.VideoCapture(0)

    # 人脸识别分类器本地存储路径
    cascade_path = "./haarcascade_frontalface_alt2.xml"

    # 循环检测识别人脸
    while True:
        ret, frame = cap.read()  # 读取一帧视频

        if ret is True: