python opencv3实现人脸识别(windows)


Posted in Python onMay 25, 2018

本文实例为大家分享了python人脸识别程序,大家可进行测试

#coding:utf-8 
 
import cv2 
import sys 
from PIL import Image 
 
 
def CatchUsbVideo(window_name, camera_idx): 
  cv2.namedWindow(window_name) 
 
  # 视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头 
  cap = cv2.VideoCapture(camera_idx) 
 
  # 告诉OpenCV使用人脸识别分类器 
  classfier = cv2.CascadeClassifier("C:\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml") 
 
  # 识别出人脸后要画的边框的颜色,RGB格式 
  color = (0, 255, 0) 
 
  while cap.isOpened(): 
    ok, frame = cap.read() # 读取一帧数据 
    if not ok: 
      break 
 
      # 将当前帧转换成灰度图像 
    grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
 
    # 人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数 
    faceRects = classfier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) 
    if len(faceRects) > 0: # 大于0则检测到人脸 
      for faceRect in faceRects: # 单独框出每一张人脸 
        x, y, w, h = faceRect 
        cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 3) #5控制绿色框的粗细 
 
    # 显示图像 
    cv2.imshow(window_name, frame) 
    c = cv2.waitKey(10) 
    if c & 0xFF == ord('q'): 
      break 
 
      # 释放摄像头并销毁所有窗口 
  cap.release() 
  cv2.destroyAllWindows() 
 
 
if __name__ == '__main__': 
  CatchUsbVideo("FaceRect", 0) 
  # if len(sys.argv) != 2: 
  #   print("Usage:%s camera_id\r\n" % (sys.argv[0])) 
  # else: 
  #   CatchUsbVideo("识别人脸区域", int(sys.argv[1]))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
让 python 命令行也可以自动补全
Nov 30 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Python3.2中Print函数用法实例详解
May 19 Python
深入理解python函数递归和生成器
Jun 06 Python
Python基于dom操作xml数据的方法示例
May 12 Python
Flask配置Cors跨域的实现
Jul 12 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Python如何进行时间处理
Aug 06 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
python开发实时可视化仪表盘的示例
May 07 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 #Python
matplotlib savefig 保存图片大小的实例
May 24 #Python
python3连接MySQL数据库实例详解
May 24 #Python
python实现图片文件批量重命名
Mar 23 #Python
python使用RNN实现文本分类
May 24 #Python
Jupyter notebook远程访问服务器的方法
May 24 #Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 #Python
You might like
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
python基于phantomjs实现导入图片
2016/05/13 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
PyQt5每天必学之布局管理
2018/04/19 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
Django组件content-type使用方法详解
2019/07/19 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
大课间活动制度
2014/01/18 职场文书
李白故里导游词
2015/02/12 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python