热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

视频中的人脸识别

转载地址:http:blog.csdn.netwyx100articledetails72943486运行环境:opencv3.1python2.7ub

转载地址:

http://blog.csdn.net/wyx100/article/details/72943486

运行环境:

opencv3.1

python2.7

ubuntu

直接上代码:

# -*- coding: utf-8 -*-  
import cv2  
import numpy as np  
  
cv2.namedWindow("test")  
# cap = cv2.VideoCapture(0) #加载摄像头录制  
cap = cv2.VideoCapture("test.mp4") #打开视频文件  
success, frame = cap.read()  
classifier = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")  # 确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径  
  
while success:  
    success, frame = cap.read()  
    size = frame.shape[:2]  
    image = np.zeros(size, dtype=np.float16)  
    print"image=",image
    image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  
    print"image=",image
    cv2.equalizeHist(image, image) #直方图均衡化,增强图片的对比度 
    divisor = 8  
    h, w = size  #h=240,w=320
    minSize = (w / divisor, h / divisor)  

    faceRects = classifier.detectMultiScale(image, 1.2, 2, cv2.CASCADE_SCALE_IMAGE, minSize)  #detectMultiScale函数。它可以检测出图片中所有的人脸,并将人脸用vector保存各个人脸的坐标、大小(用矩形表示)
    
    print"faceRects=",faceRects
    if len(faceRects) > 0:  
        for faceRect in faceRects:  
            x, y, w, h = faceRect#这个意思大概是找到人脸的一个坐标(x,y),w和h表示宽和高,也就是在当前的图片中用一个方框来哦定位脸部的位置。
            print "x=",x
            print "y=",y
            print "w=",w  
            print "h=",h
            print "-"*100
            cv2.circle(frame, (x + w / 4, y + h / 4 + 30), min(w / 8, h / 8), (255, 0, 0))  
            cv2.circle(frame, (x + 3 * w / 4, y + h / 4 + 30), min(w / 8, h / 8), (255, 0, 0))  #用来定位两个眼睛
            cv2.rectangle(frame, (x + 3 * w / 8, y + 3 * h / 4), (x + 5 * w / 8, y + 7 * h / 8), (255, 0, 0))  #用来定位嘴唇
            #其实这个代码根本就没有识别出眼睛和嘴唇,只不过是在限定脸在整张图片中的范围后,大致估计眼睛和嘴唇的位置罢了。
    cv2.imshow("test", frame)  
    key = cv2.waitKey(10)  #
    # 第一个参数: 等待x ms,如果在此期间有按键按下,则立即结束并返回按下按键的
    # ASCII码,否则返回-1
    # 如果x=0,那么无限等待下去,直到有按键按下
    c = chr(key & 255)  
    if c in ['q', 'Q', chr(27)]:  
        break  
cv2.destroyWindow("test")  



推荐阅读
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 蓝桥竞赛中的回形取数问题是一个经典的算法挑战。本文详细解析了该问题的正确实现代码,重点探讨了 `hasNext()` 和 `next()` 方法的区别与应用。尽管两者在功能上类似,都会等待用户输入下一个字符,但它们的返回值类型不同,`hasNext()` 返回一个布尔值,表示是否还有输入,而 `next()` 则直接返回下一个输入的值。通过具体的代码示例和详细的逻辑分析,本文为参赛者提供了宝贵的参考和指导。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
author-avatar
love留着对她说吧
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有