Keras之CNN:基于Keras利用cv2建立训练存储卷积神经网络模型(2+1)并调用摄像头进行实时人脸识别

目录

输出结果

设计思路

核心代码


输出结果

设计思路

核心代码

# -*- coding:utf-8 -*-
import cv2
from train_model import Model
from read_data import read_name_list
from timeit import default_timer as timer  ### to calculate FPSclass Camera_reader(object):def __init__(self):self.model = Model()self.model.load()self.img_size = 128def build_camera(self):face_cascade = cv2.CascadeClassifier('F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt.xml')
#         print(face_cascade) #输出<CascadeClassifier 000002240244CC70>name_list = read_name_list('F:\\File_Python\\Python_example\\face_recognition_name\\After_cut_picture')
#         print(name_list)cameraCapture = cv2.VideoCapture(0)  success, frame = cameraCapture.read()  while success and cv2.waitKey(1) == -1:  success, frame = cameraCapture.read()gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) ROI = gray[x:x + w, y:y + h]ROI = cv2.resize(ROI, (self.img_size, self.img_size), interpolation=cv2.INTER_LINEAR) label,prob = self.model.predict(ROI)  if prob >0.7:   show_name = name_list[label]else:show_name = 'Stranger'cv2.putText(frame, show_name, (x, y - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, 255, 2)  frame = cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)  cv2.imshow("Camera", frame) cameraCapture.release()  cv2.destroyAllWindows()  def detect_video(self): face_cascade = cv2.CascadeClassifier('F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt.xml')name_list = read_name_list('F:\\File_Python\\Python_example\\face_recognition_name\\After_cut_picture')video = cv2.VideoCapture(video_path)  ### TODO: will video path other than 0 be used?success, frame = video.read() accum_time = 0curr_fps = 0fps = "FPS: ??"  #fps = "FPS: ??"prev_time = timer()while success and cv2.waitKey(1) == -1: success, frame = video.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, 1.3, 5)curr_time = timer()exec_time = curr_time - prev_timeprev_time = curr_timeaccum_time = accum_time + exec_timecurr_fps = curr_fps + 1    #1   if accum_time > 1:accum_time = accum_time - 1   #1fps = "FPS: " + str(curr_fps)curr_fps = 0   #0     for (x, y, w, h) in faces:  ROI = gray[x:x + w, y:y + h]ROI = cv2.resize(ROI, (self.img_size, self.img_size), interpolation=cv2.INTER_LINEAR) #cv2.INTER_LINEAR图像尺寸变换的方法,默认的双线性插值label,prob = self.model.predict(ROI) if prob >0.7:    show_name = name_list[label]else:show_name = 'Stranger'cv2.putText(frame, show_name, (x, y - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, 255, 2)  frame = cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)  cv2.namedWindow("result", cv2.WINDOW_NORMAL)cv2.imshow("result",frame)if __name__ == '__main__':camera = Camera_reader()camera.build_camera()
#     video_path='F:/File_Python/Python_example/YOLOv3_use_TF/RunMan1.mp4'
#     camera.detect_video()

Keras之CNN:基于Keras利用cv2建立训练存储卷积神经网络模型(2+1)并调用摄像头进行实时人脸识别相关推荐

  1. 基于视频的实时人脸识别(含代码)

    文章目录 介绍 思路介绍 运行环境介绍 模型介绍 人脸关键点预测器 人脸识别模型 效果展示 识别过程 代码 建立本地人脸库 人脸识别 介绍 思路介绍 无论是基于视频或者调用摄像头来完成人脸识别,其实是 ...

  2. CV:基于keras利用cv2自带两步检测法对《跑男第六季第五期》之如花片段(或调用摄像头)进行实时性别脸部表情检测

    CV:基于keras利用cv2自带两步检测法对<跑男第六季第五期>之如花片段(或调用摄像头)进行实时性别&脸部表情检测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心 ...

  3. Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)——回归预测

    Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)--回归预测 目录 输出结果 核心代码 输出结果 核心代码 # -*- coding: u ...

  4. 基于Keras的卷积神经网络模型预测--狗的品种识别

    基于Keras的卷积神经网络模型预测–狗的品种识别 from sklearn.datasets import load_files from keras.utils import np_utils i ...

  5. 采用keras深度学习框架搭建卷积神经网络模型实现垃圾分类,基于树莓派上进行实时视频流的垃圾识别源代码

    一.项目概述 简介:该垃圾分类项目主要在于对各种垃圾进行所属归类,本次项目采用keras深度学习框架搭建卷积神经网络模型实现图像分类,最终移植在树莓派上进行实时视频流的垃圾识别. 前期:主要考虑PC端 ...

  6. keras卷积处理rgb输入_CNN卷积神经网络模型搭建

    前言 前段时间尝试使用深度学习来识别评测过程中的图片,以减少人力成本.目前是在深度学习框架Keras(后端使用TensorFlow)下搭建了一个CNN卷积神经网络模型,下面就如何搭建一个最简单的数字图 ...

  7. 实时人脸识别例子-tensorflow2.x keras

    系列文章目录 人脸检测的例子-Tensorflow2.x keras 人脸识别的例子-Tensorflow2.x Keras 实时人脸识别例子-Tensorflow2.x Keras 这里写目录标题 ...

  8. CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测

    CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 ...

  9. TF之pix2pix:基于TF利用Facades数据集训练pix2pix模型、测试并进行生成过程全记录

    TF之pix2pix:基于TF利用Facades数据集训练pix2pix模型.测试并进行生成过程全记录 目录 TB监控 1.SCALARS 2.IMAGES 3.GRAPHS 4.DISTRIBUTI ...

最新文章

  1. Python进程和线程保姆式教学,1个台机子多只手干活的秘籍
  2. 详解Jedis连接池报错处理
  3. Visual Studio 2019安装教程
  4. java怎么改变数组的名,java – Spring HATEOASHAL:在_embedded中更改数组名称
  5. python打包后怎么安装_别再问我怎么Python打包成exe了!
  6. JSP 内置对象request常见用法
  7. Quartus II 15详细安装教程
  8. 达梦新起点:达梦DM8化繁为简 助力数据库发展新方向
  9. 宿舍的呼噜神,快看过来,我这里有药!!!
  10. yaml参数文件的使用
  11. es管理器免root_国产应用也强大 ES文件浏览器增加ROOT管理
  12. 一个公务员工作七年后的肺腑之言”——给想考公务员的XDJM们看看,或许能有帮助
  13. 基于图像的三维重建——深度图计算方法1-SGM/tSGM(9)
  14. Python使用QQ邮箱,实现自动发送邮件
  15. 计算机网络浅知识[ 3 ]:IP世界的基本构成
  16. 用c语言验证1000以内的卡拉兹(Callatz)猜想
  17. jquery实现图片的跑马灯效果
  18. 北大青鸟消防设备说明书_北大青鸟消防控制主机操作说明
  19. 美国纽约仍有近四成父母不愿为年幼的孩子接种新冠疫苗 | 美通社头条
  20. WARNING: Unknown module: java.rmi specified to --add-opens如何解决

热门文章

  1. cent os 下使用hashmap + string
  2. 用正则表达式作html2RSS服务
  3. 一步步实施 DevOps (三)
  4. Pure-ftpd搭建FTP
  5. js表单验证控制代码大全
  6. Excel删除区域名
  7. 内网环境下预览ArcGIS地图服务
  8. SpringBoot +RabbitMQ 做智能家居,居然如此简单!
  9. 网络:forward和redirect的区别
  10. Java 洛谷 P2089 烤鸡