当前位置:主页 > python教程 > python opencv3实现人脸识别(windows)

详解python opencv3人脸识别(windows)

发布:2020-02-17 20:42:42 62


我们帮大家精选了Python相关的编程文章,网友吕弘深根据主题投稿了本篇教程内容,涉及到windows、python、opencv3、人脸识别、python opencv3实现人脸识别(windows)相关内容,已被374网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

python opencv3实现人脸识别(windows)

本文实例为大家分享了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如何限制输出日志的大小

    发布:2021-05-06

    这篇文章主要介绍了Python 限制输出日志的大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python flask 多对多表查询功能

    发布:2022-09-06

    给网友朋友们带来一篇关于python的教程,我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。下面把我的思路分享到脚本之家平台,供大家参考


  • Python Tkinter Gui运行不卡顿(解决多线程解决界面卡死问题)

    发布:2023-04-02

    最近写的Python代码不知为何,总是执行到一半卡住不动,所以下面这篇文章主要给大家介绍了关于Python Tkinter Gui运行不卡顿,解决多线程解决界面卡死问题的相关资料,需要的朋友可以参考下


  • python中Web框架(Flask)的详解(代码示例)

    python中Web框架(Flask)的详解(代码示例)

    发布:2022-06-29

    给网友们整理关于python的教程,flask {代码...} 使用flask 当你编写一个函数时,要想每个人都可以使用,需要用到flask来实现这个目标。 导入falsk.Flask类 实例化一个Flask对象 绑定路由 运行flask应用 {代码...} 路由及变量规则 在


  • 浅谈解除装饰器作用(python3新增)

    发布:2022-10-21

    给大家整理一篇关于python3的教程,今天小编就为大家分享一篇浅谈解除装饰器作用(python3新增),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Python求字符串的长度示例代码

    发布:2023-04-19

    这篇文章主要介绍了Python求字符串的长度,求一个字符串的长度,在main函数中输入字符串,并输出其长度,文中给大家介绍了Python计算字符串长度的函数,需要的朋友可以参考下


  • python数组如何添加整行或整列

    发布:2023-04-24

    这篇文章主要介绍了python数组如何添加整行或整列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • Python3.10耙梳加密算法Encryption种类及开发场景

    发布:2023-03-31

    这篇文章主要为大家介绍了Python3.10加密,各种加密,耙梳加密算法Encryption种类及开发场景运用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


网友讨论