OpenCv之视频人脸识别

这篇具有很好参考价值的文章主要介绍了OpenCv之视频人脸识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、人脸检测

案例代码如下:

import cv2
import numpy as np

video =  cv2.VideoCapture('1.mp4')
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
while True:
    retval,image = video.read() #     retval boolean类型表名是否获得了图片
    if not retval:
        print('视频读取完成,没有图片')
        break
    faces = face_detector.detectMultiScale(image)
    for x,y,w,h in faces:
        cv2.rectangle(image,pt1=(x,y),pt2 = (x+w,y+h),color=[0,0,255],thickness=2)
    cv2.imshow('video',image)
    key = cv2.waitKey(1)
    if key == ord('q'):
        break

cv2.waitKey(1)
video.release()

二、马赛克处理

视频帧率、宽度、高度、图片个数计算:

import cv2
import numpy as np

video =  cv2.VideoCapture('1.mp4')
# 获得视频中的属性
fps = video.get(propId=cv2.CAP_PROP_FPS) #得到帧率
width = video.get(propId=cv2.CAP_PROP_FRAME_WIDTH) #宽度
height = video.get(propId=cv2.CAP_PROP_XI_HEIGHT) #高度
count = video.get(propId=cv2.CAP_PROP_FRAME_COUNT) #多少图片
print('--视频帧率',fps)
print(width,height,count)
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
while True:
    retval,image = video.read() #     retval boolean类型表名是否获得了图片
    if not retval:
        print('视频读取完成,没有图片')
        break
    faces = face_detector.detectMultiScale(image)
    for x,y,w,h in faces:
        # cv2.rectangle(image,pt1=(x,y),pt2 = (x+w,y+h),color=[0,0,255],thickness=2)
        face = image[y:y+h,x:x+w]
        face = face[::10,::10]
        face = np.repeat(face,10,axis=0)
        face = np.repeat(face,10,axis =1)
        image[y:y+h,x:x+w] = face[:h,:w]

    cv2.imshow('video',image)
    key = cv2.waitKey(1)
    if key == ord('q'):
        break

cv2.waitKey(1)
video.release()

三、写视频

案例代码如下:

import cv2
import numpy as np

video =  cv2.VideoCapture('1.mp4')
wr = cv2.VideoWriter(filename = 'gray.mp4',
                fourcc = cv2.VideoWriter.fourcc(*'MP4'),
                fps = 24, #视频帧率
                framesize = (640,360)) #图片尺寸
# 获得视频中的属性
fps = video.get(propId=cv2.CAP_PROP_FPS) #得到帧率
width = video.get(propId=cv2.CAP_PROP_FRAME_WIDTH) #宽度
height = video.get(propId=cv2.CAP_PROP_XI_HEIGHT) #高度
count = video.get(propId=cv2.CAP_PROP_FRAME_COUNT) #多少图片
print('--视频帧率',fps)
print(width,height,count)
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
while True:
    retval,image = video.read() #     retval boolean类型表名是否获得了图片
    if not retval:
        print('视频读取完成,没有图片')
        break
    image = cv2.resize(image,(640,360))
    gray = cv2.cvtColor(image,code = cv2.COLOR_BGR2GRAY)
    np.repeat(gray.reshape(360,640,1),3,axis=2) #蓝绿红变为三维,但值是一样的
    # wr.write(gray)
    faces = face_detector.detectMultiScale(image)
    for x,y,w,h in faces:
        # cv2.rectangle(image,pt1=(x,y),pt2 = (x+w,y+h),color=[0,0,255],thickness=2)
        face = image[y:y+h,x:x+w]
        face = face[::10,::10]
        face = np.repeat(face,10,axis=0)
        face = np.repeat(face,10,axis =1)
        image[y:y+h,x:x+w] = face[:h,:w]
    wr.write(image) #彩色图片是三维的,而黑白图片是二维的
    cv2.imshow('video',image)
    key = cv2.waitKey(1)
    if key == ord('q'):
        break

cv2.waitKey(1)
video.release()
wr.release()

四、摄像头识别人脸

案例代码如下:文章来源地址https://www.toymoban.com/news/detail-602309.html

import cv2
import numpy as np

# 打开本机摄像头
cap = cv2.VideoCapture(0)
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')

while True:
    flag,frame = cap.read() #flag是否读取了图片
    if not flag:
        break
    # 转为灰度图片
    gray = cv2.cvtColor(frame,code = cv2.COLOR_BGR2GRAY)
    faces = face_detector.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=10)
    for x,y,w,h in faces:
        cv2.rectangle(frame,
                      pt1=(x,y),
                      pt2=(x+w,y+h),
                      color=[0,0,255],
                      thickness=2)
    cv2.imshow('face',frame)
    key = cv2.waitKey(1000//24)
    if key == ord('q'):
        break

cv2.destroyAllWindows()
cap.release()

到了这里,关于OpenCv之视频人脸识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计——基于OpenCV的视频人脸识别检测系统的设计与实现

    如需完整源码,可以联系博主获取 本系统基于OpenCV使用Haar级联与dlib库进行人脸检测及实时跟踪,应用LBPH算法开发了一个功能相对完整的人脸识别系统。系统采用sqlite3进行序列化数据存储,能够对陌生人脸闯入进行报警,并拥有基于PyQt5设计的GUI实现。 一、引言 随着计算机

    2024年04月12日
    浏览(48)
  • 毕业设计——基于python-contrib-opencv的人脸识别及检测系统设计与实现(实现电脑端摄像头读取视频,实时人脸录入,人脸检测,人脸识别等功能)

    如需完整源码,可以联系博主获取 基于python-contrib-opencv,dlib,pyqt5。能够实现电脑端摄像头读取视频,实时人脸录入,人脸检测,人脸识别等功能。 一、引言 随着计算机视觉和人工智能技术的不断发展,人脸识别技术已成为智能安防、身份验证等领域的关键技术之一。而基于

    2024年04月12日
    浏览(47)
  • 手把手教你完成一个Python与OpenCV人脸识别项目(对图片、视频、摄像头人脸的检测)超详细保姆级记录!

    课程来源: 一天搞定人脸识别项目!学不会up直接下跪!(python+opencv)_哔哩哔哩_bilibili 环境配置详见: 在conda虚拟环境中安装OpenCv并在pycharm中使用_conda虚拟环境安装opencv_好喜欢吃红柚子的博客-CSDN博客 目录 一、读取图片 1.1 imshow和WaitKey方法   1.2 代码实现 1.3 效果展示 

    2024年02月03日
    浏览(36)
  • 头歌--人脸识别系统--OpenCV人脸检测

    目录 第1关:图片基本操作 第2关:色彩空间及其转换 第3关:基于Harr特征的人脸检测分类器 第4关:绘制人脸与人眼区域 第1关:图片基本操作 第2关:色彩空间及其转换 第3关:基于Harr特征的人脸检测分类器 第4关:绘制人脸与人眼区域

    2024年02月05日
    浏览(51)
  • 11 OpenCV图像识别之人脸识别

    OpenCV 提供了三种人脸识别方法: Eigenfaces Eigenfaces是一种基于PCA(Principal Component Analysis,主成分分析)的人脸识别方法,属于OpenCV中的特征脸方法之一。该方法将人脸图像转换为低维的特征向量,使用PCA降维的方式提取出训练集中的主成分特征,进而提取出人脸图像的特征向

    2023年04月18日
    浏览(85)
  • 人脸识别(python+opencv)

    这里我使用的是pycharm(Python集成开发环境)2023.1.3版与opencv pycharm下载网址:PyCharm:JetBrains为专业开发者提供的Python IDE  这里下载免费版的。 opencv下载网址:OpenCV - Open Computer Vision Library  点击Libray--Releases-- 4.5.2版本        如图先建立项目(如不懂如何操作的可以看一下

    2024年01月22日
    浏览(35)
  • opencv进行人脸识别

    目录 一:准备工作 二:人脸图片识别 三:视频人脸识别 一:准备工作 1:github网站下载开源人脸特征数据 下载链接:

    2024年02月19日
    浏览(40)
  • (项目笔记)opencv人脸识别

    Haar级联: Haar特征:边缘特征,线性特征,中心环绕特征,对角线特征 这些特征组合为特征模板,特征模板里有白色和黑色矩形,模板特征即为白色矩形像素和减去黑色矩形像素和。 Haar 特征的提取简单说就是通过不断改变模版的大小、位置和类型,白色矩形区域像素和‘减

    2024年02月05日
    浏览(40)
  • OpenCV--人脸识别入门

    本次用的数据集是opencv给出的教程里面的第一个数据集:​​The ATT Facedatabase​​,又称为ORL人脸数据库,40个人,每人10张照片。照片在不同时间、不同光照、不同表情(睁眼闭眼、笑或者不笑)、不同人脸细节(戴眼镜或者不戴眼镜)下采集。所有的图像都在一个黑暗均匀的背景

    2024年02月07日
    浏览(44)
  • 【OpenCV】 人脸识别

    目录 一:前言 二:人脸识别案例 实现步骤及完整代码 步骤1 灰度化处理 步骤2 将灰度图再次进行 行列压缩  步骤3 直方图均值化 步骤4 使用模型 对每一个像素点遍历 图像甄别 人脸识别案例 源码分享 结果测试:可对人脸框选识别 三:车辆识别案例 级联分类器 具体实现

    2024年01月21日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包