zoukankan      html  css  js  c++  java
  • 基于Python语言OpenCV模块的人脸识别小项目

    基于Python语言OpenCV模块的人脸识别小项目

    1. 识别图片上的人脸

    # 1、导入库
    import cv2
    # 2、加载图片
    img = cv2.imread(r'C:UsersAdministratorDesktopimage2.png')
    # 3、加载人脸模型
    face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
    # 4、调整图片灰度
    gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    # 5、检查人脸
    faces = face_engine.detectMultiScale(gray_img)
    # 6、标记人脸
    for(x, y, w, h) in faces:
        # 五个参数(图片,起始坐标,结尾坐标,标记线的颜色,线条粗细)
        cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 5)
    # 7、创建窗口
    cv2.namedWindow('face check')
    # 8、显示图片
    cv2.imshow('face image', img)
    # 9、暂停窗口
    cv2.waitKey(0)
    # 10、关闭窗口
    cv2.destroyAllWindows()
    
    

    2. 调用摄像头人脸检测

    # 导入库
    import cv2
    # 加载人脸识别模型
    face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
    # 打开摄像头
    capture = cv2.VideoCapture(0)
    # 人脸检测
    while True:
        # 获取摄像头捕捉的画面(帧)
        ret, frame = capture.read()
        # 将获取的画面灰度处理
        gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
        # 检测人脸获取人脸区域
        faces = face_engine.detectMultiScale(gray)
        # 标记人脸区域
        for(x, y, w, h) in faces:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        # 显示画面
        cv2.imshow('press q to quit', frame)
        # 按‘q’退出程序
        if cv2.waitKey(5) & 0xFF == ord('q'):
            break
    # 释放资源
    capture.release()
    # 关闭窗口
    cv2.destroyAllWindows()
    

    总结

    实用模块真的很方便,不需要自己去实现人脸识别的算法,直接使用模块然后调用方法即可,所以我们是站在巨人肩膀上编程。

    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    java HTTP代码示例
    eclipse创建文件package,source folder和folder区别及相互转换
    spring 及 spring boot 资源文件配置
    深入理解Java枚举类型(enum)
    Linux环境变量配置的三个方法--/etc/profile,~/.bashrc,shell
    JAXB和XStream比较
    java将配置信息写在数据库(利用反射)
    【大数据实战】Logstash采集->Kafka->ElasticSearch检索
    Linux 安装rabbitmq 遇到的一些问题
    Linux 下的jdk安装
  • 原文地址:https://www.cnblogs.com/zq98/p/15027977.html
Copyright © 2011-2022 走看看