视频人脸检测——OpenCV版(三)

视频人脸检测是图片人脸检测的高级版本,图片检测详情点击查看我的上一篇《图片人脸检测——OpenCV版(二)》 

实现思路:

调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人脸的位置,把处理的图片逐帧绘制给用户,用户看到的效果就是视频的人脸检测。

效果预览:

实现步骤

使用OpenCV调用摄像头并展示

获取摄像头:

cap = cv2.VideoCapture(0)

参数0表示,获取第一个摄像头。

显示摄像头 逐帧显示,代码如下:

while (1): ret, img = cap.read()cv2.imshow("Image", img)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 释放窗口资源

cv2.waitKey(1) & 0xFF使用了“&”位元算法,含义是获取用户输入的最后一个字符的ASCII码,如果输入的是“q”,则跳出循环。

视频的人脸识别

这个时候,用到了上一节的《图片人脸检测——OpenCV版(二)》 把人脸识别的代码封装成方法,代码如下:

def discern(img):gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cap = cv2.CascadeClassifier("C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml")faceRects = cap.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(50, 50))if len(faceRects):for faceRect in faceRects:x, y, w, h = faceRectcv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2)  # 框出人脸cv2.imshow("Image", img)

 再循环摄像头帧图片的时候,调用图片识别方法即可,代码如下:

# 获取摄像头0表示第一个摄像头
cap = cv2.VideoCapture(0)
while (1):  # 逐帧显示ret, img = cap.read()# cv2.imshow("Image", img)discern(img)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 释放窗口资源

  

完整的代码如下:

# -*- coding:utf-8 -*-
# OpenCV版本的视频检测
import cv2# 图片识别方法封装
def discern(img):gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cap = cv2.CascadeClassifier("C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml")faceRects = cap.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(50, 50))if len(faceRects):for faceRect in faceRects:x, y, w, h = faceRectcv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2)  # 框出人脸cv2.imshow("Image", img)# 获取摄像头0表示第一个摄像头
cap = cv2.VideoCapture(0)
while (1):  # 逐帧显示ret, img = cap.read()# cv2.imshow("Image", img)discern(img)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 释放窗口资源

 

 


往期目录

视频人脸检测——Dlib版(六)
OpenCV添加中文(五)
图片人脸检测——Dlib版(四)
视频人脸检测——OpenCV版(三)
图片人脸检测——OpenCV版(二)
OpenCV环境搭建(一)
更多更新,欢迎访问我的github:https://github.com/vipstone/faceai

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JENKINS使用DOCKER运行PYTEST并且出ALLURE报告

背景 最近想做一个简单的pytest 测试,用allure出报告,结果发现网上的方法都是在windows上装jenkins,然后用jenkins跑一个本地的运行环境。这种做法明显很不2019年。于是我决定做一个在jenkins上使用docker运行pytest,然后再出allure报告的文…

zabbix企业应用之low level discovery监控mysql

之前介绍了使用zabbix监控固定3306端口的mysql(文章地址为http://dl528888.blog.51cto.com/2382721/1346590),有个不好的地方是只能监控固定的3306端口,如果是非3306端口的话,需要修改模板,如果主机有多个m…

图片人脸检测——Dlib版(四)

上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。 往期目录 视频人脸检测——Dlib版(六)OpenCV添加中文(五)图片人脸检测——Dlib版(四)视频…

kubernetes 实战 使用 nfs 作为动态 storageClass 存储

kubernetes 实战 使用 nfs 作为动态 storageClass 存储 概述 之前有介绍过 Kubernetes 实战 pv and pvc, 相信使用过的pv和pvc的同学或者有过虚拟化经验的人来说肯定会想到很多问题,比如每次申请 pvc 都需要手动添加pv,这岂不是太不方便了。那…

OpenCV环境搭建(一)

OpenCV环境搭建 环境搭建为OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的。 windows系统搭建 系统环境:windows 10 python 3.6 OpenCV 3.4.1 一、安装python python的安装之前在python自学笔记的项…

git+pylint实现python提交代码格式校验

环境:win10(64),python3.7.1,git2.7.2,pylint-2.3.1,git_pylint_commit_hook-2.5.1 以上为当期搭建所用到的版本,有异常时方便查找问题。 安装pylint,pylint是一个单独可以对python文件进行格…

OpenCV添加中文(五)

OpenCV添加文字的方法putText(…),添加英文是没有问题的,但如果你要添加中文就会出现“???”的乱码,需要特殊处理一下。 下文提供封装好的(代码)方法,供OpenCV添加中文使…

UpdatePanel的内容中出现自定义多语言运行异常

2019独角兽企业重金招聘Python工程师标准>>> 我们项目有双语要求&#xff0c;采用的是自定义符号控制。在页面加载时进行翻译。 在xml文件中有如下格式的配置 <items> <resource page"~/SalesAppeal/SalesAppealCO.aspx"> <item key"…

ELK开机自启动脚本

elasticsearch服务配置文件 cd /etc/init.dtouch elasticsearchchmod x elasticsearchvi elasticsearch并输入以下内容: #!bin/bash# chkconfig: 2345 21 89 # description: elasticsearch# JAVA_HOME/usr/lib/jvm/jdk1.8.0_91 ES_HOME/usr/local/elasticsearch-6.7.2 case…

使用Bazel编译报错ERROR: Unrecognized option: --experimental_repo_remote_exec解决方法

ERROR: Unrecognized option: --experimental_repo_remote_exec 一、问题&#xff1a; INFO: Options provided by the client:Inherited common options: --isatty1 --terminal_columns80 INFO: Reading rc options for version from /home/emadboctor/tensorflow/.bazelrc:I…

视频人脸检测——Dlib版(六)

往期目录 视频人脸检测——Dlib版&#xff08;六&#xff09; OpenCV添加中文&#xff08;五&#xff09; 图片人脸检测——Dlib版&#xff08;四&#xff09; 视频人脸检测——OpenCV版&#xff08;三&#xff09; 图片人脸检测——OpenCV版&#xff08;二&#xff09; …

OpenPose+win10安装

openpose在win10上的环境配置和安装&#xff0c;主要参考&#xff1a;OpenPose_1.3.0 vs2017 cuda_9.2.148_win10 cudnn9.2-windows10-x64-v7.2.1.38 windows 配置教程_无情时尚的博客-CSDN博客_openpose vs 另一篇博客后半部分有讲如何使用代码实现相应的功能&#xff1a;…

超简单的视频对象提取程序

视频对象提取 与其说是视频对象提取&#xff0c;不如说是视频颜色提取&#xff0c;因为其本质还是使用了OpenCV的HSV颜色物体检测。 HSV介绍 HSV分别代表&#xff0c;色调&#xff08;H&#xff1a;hue&#xff09;&#xff0c;饱和度&#xff08;S&#xff1a;saturation&a…

Win10安装 WSL Ubuntu Linux系统,非双系统,完美兼容超详细版本

Windows SubSystem for Linux(WSL) 适用于Linux的Windows子系统 WSL团队的blog:Windows Subsystem for Linux | Microsoft Docs WSL的官方文档&#xff1a;What is Windows Subsystem for Linux | Microsoft Docs 最近需要Linux的shell环境进行学习&#xff0c;之前一直是在虚…

QT5 exec()模态显示子对话框,父子对话框都最小化后显示桌面

QT5 exec()模态显示子对话框&#xff0c;在任务栏上单击鼠标右键&#xff0c;出现‘’显示桌面”选项&#xff0c;选中后&#xff0c;QT5父对话框最小化&#xff0c;但是子对话框一直显示在最上层&#xff0c;却不随父对话框一起最小化。后来发现是添加了Qt::WindowStaysOnTopH…

基于python的图片修复程序-可用于水印去除

图片修复程序-可用于水印去除 在现实的生活中&#xff0c;我们可能会遇到一些美好的或是珍贵的图片被噪声干扰&#xff0c;比如旧照片的折痕&#xff0c;比如镜头上的灰尘或污渍&#xff0c;更或者是某些我们想为我所用但有讨厌水印&#xff0c;那么有没有一种办法可以消除这些…

Promethus搭建 K8S 集群节点资源监控系统

对于集群的监控一般我们需要考虑以下几个方面&#xff1a; Kubernetes 节点的监控&#xff1a;比如节点的 cpu、load、disk、memory 等指标 内部系统组件的状态&#xff1a;比如 kube-scheduler、kube-controller-manager、kubedns/coredns 等组件的详细运行状态 编排级的 me…

Android TensorFlow Lite 深度学习识别手写数字mnist demo

一. TensorFlow Lite TensorFlow Lite介绍.jpeg TensorFlow Lite特性.jpeg TensorFlow Lite使用.jpeg TensorFlow Lite 是用于移动设备和嵌入式设备的轻量级解决方案。TensorFlow Lite 支持 Android、iOS 甚至树莓派等多种平台。 我们知道大多数的 AI 是在云端运算的&#xff0…

RabbitMQ在Ubuntu上的环境搭建

环境配置 - Ubuntu Server 18.04 - RabbitMQ 3.6.10 安装之前 我们使用apt-get进行RabbitMQ安装&#xff0c;在安装之前&#xff0c;强烈建议您把apt源换位国内&#xff0c;大大增加下载安装的速度&#xff0c;点击查看&#xff1a;《Ubuntu apt-get和pip国内源更换》 安装…

QT5开发的程序打包发布

一、开发平台 QT5开发的程序打包发布出来&#xff0c;在任何一台windows系统都能运行&#xff0c;这样就不会限于电脑需不需要安装QT安装包了。 自己用的QT版本是 我的电脑系统是WIn10专业版的。 二、介绍一下打包工具。 1.一个是QT5自带的windeployqt&#xff08;这个大家不…