python-opencv视频中的人脸检测

14.python-opencv视频中的人脸检测

第一章 python-opencv-图片导入和显示
第二章 python-opencv图像简单处理
第三章 python-opencv图像mask掩膜处理
第四章 python-opencv图像马赛克
第五章 python-opencv人脸马赛克
第六章 python-opencv人脸检测
第七章 python-opencv图像张贴
第八章 python-opencv轮廓绘制
第九章 python-opencv边缘检测
第十章 python-opencvpython-opencv边缘检测与人脸检测应用
第十一章 python-opencv直方图绘制与直方图均衡
第十二章 python-opencv图像傅里叶变换
第十三章 python-opencv图像的高通滤波和低通滤波


文章目录

  • 14.python-opencv视频中的人脸检测
  • 前言
  • 完整代码
  • 结果展示


前言

之前的博客中我们介绍了如克在图像中进行人脸检测,本文主要介绍如何使用python-opencv加载人间检测器,在视频中进行人脸检测,稳重所用的人脸检测器模型请点击这里,如果无法下载可以联系我哈。
本文对代码进行了详细的注释,请查看!


提示:以下是本篇文章正文内容,下面案例可供参考

完整代码

import cv2

if __name__ == '__main__':
    # 加载图像
    video = cv2.VideoCapture('./video.mp4')  # 可以将这里换成你的视频所在的地址
    # 加载人脸检测器模型
    face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt_tree.xml')
    while True:
        retval, image = video.read()  # retval 为返回的布尔值,有图片时返回True,否则为False

        image = cv2.resize(image, (960,540))  # 减少图像尺寸减少计算量,这里可以根据你的视频中图像的大小进行调整

        if not retval:  # 当读取到最后一帧图片时,退出,停止读取
            break
        gray = cv2.cvtColor(image, code=cv2.COLOR_BGR2GRAY)  # 转化为灰度图进行检测,减少计算量
        faces = face_detector.detectMultiScale(gray)  # 获得人脸检测结果
        for x,y,w,h in faces:  # 进行for循环,将检测到的所有人脸区域绘制标注方框
            cv2.rectangle(image, pt1=(x,y), pt2=(x+w,y+h), color=[0,0,255], thickness=2)

        cv2.imshow('image', image)
        key = cv2.waitKey(1)
        if key == ord('q'):  # 当输入q时,停止读取
            break
    print(image.shape)
    video.release()  # 释放内存

结果展示


请为寡姐一键三连!!!

哈哈哈!!!

你可能感兴趣的:(python-opencv,opencv,python,计算机视觉)