Keras之CNN:基于Keras利用cv2建立训练存储卷积神经网络模型(2+1)并调用摄像头进行实时人脸识别
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)并调用摄像头进行实时人脸识别相关推荐
- 基于视频的实时人脸识别(含代码)
文章目录 介绍 思路介绍 运行环境介绍 模型介绍 人脸关键点预测器 人脸识别模型 效果展示 识别过程 代码 建立本地人脸库 人脸识别 介绍 思路介绍 无论是基于视频或者调用摄像头来完成人脸识别,其实是 ...
- CV:基于keras利用cv2自带两步检测法对《跑男第六季第五期》之如花片段(或调用摄像头)进行实时性别脸部表情检测
CV:基于keras利用cv2自带两步检测法对<跑男第六季第五期>之如花片段(或调用摄像头)进行实时性别&脸部表情检测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心 ...
- Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)——回归预测
Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)--回归预测 目录 输出结果 核心代码 输出结果 核心代码 # -*- coding: u ...
- 基于Keras的卷积神经网络模型预测--狗的品种识别
基于Keras的卷积神经网络模型预测–狗的品种识别 from sklearn.datasets import load_files from keras.utils import np_utils i ...
- 采用keras深度学习框架搭建卷积神经网络模型实现垃圾分类,基于树莓派上进行实时视频流的垃圾识别源代码
一.项目概述 简介:该垃圾分类项目主要在于对各种垃圾进行所属归类,本次项目采用keras深度学习框架搭建卷积神经网络模型实现图像分类,最终移植在树莓派上进行实时视频流的垃圾识别. 前期:主要考虑PC端 ...
- keras卷积处理rgb输入_CNN卷积神经网络模型搭建
前言 前段时间尝试使用深度学习来识别评测过程中的图片,以减少人力成本.目前是在深度学习框架Keras(后端使用TensorFlow)下搭建了一个CNN卷积神经网络模型,下面就如何搭建一个最简单的数字图 ...
- 实时人脸识别例子-tensorflow2.x keras
系列文章目录 人脸检测的例子-Tensorflow2.x keras 人脸识别的例子-Tensorflow2.x Keras 实时人脸识别例子-Tensorflow2.x Keras 这里写目录标题 ...
- CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测
CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 ...
- TF之pix2pix:基于TF利用Facades数据集训练pix2pix模型、测试并进行生成过程全记录
TF之pix2pix:基于TF利用Facades数据集训练pix2pix模型.测试并进行生成过程全记录 目录 TB监控 1.SCALARS 2.IMAGES 3.GRAPHS 4.DISTRIBUTI ...
最新文章
- Python进程和线程保姆式教学,1个台机子多只手干活的秘籍
- 详解Jedis连接池报错处理
- Visual Studio 2019安装教程
- java怎么改变数组的名,java – Spring HATEOASHAL:在_embedded中更改数组名称
- python打包后怎么安装_别再问我怎么Python打包成exe了!
- JSP 内置对象request常见用法
- Quartus II 15详细安装教程
- 达梦新起点:达梦DM8化繁为简 助力数据库发展新方向
- 宿舍的呼噜神,快看过来,我这里有药!!!
- yaml参数文件的使用
- es管理器免root_国产应用也强大 ES文件浏览器增加ROOT管理
- 一个公务员工作七年后的肺腑之言”——给想考公务员的XDJM们看看,或许能有帮助
- 基于图像的三维重建——深度图计算方法1-SGM/tSGM(9)
- Python使用QQ邮箱,实现自动发送邮件
- 计算机网络浅知识[ 3 ]:IP世界的基本构成
- 用c语言验证1000以内的卡拉兹(Callatz)猜想
- jquery实现图片的跑马灯效果
- 北大青鸟消防设备说明书_北大青鸟消防控制主机操作说明
- 美国纽约仍有近四成父母不愿为年幼的孩子接种新冠疫苗 | 美通社头条
- WARNING: Unknown module: java.rmi specified to --add-opens如何解决