• 技术文章 >Python技术 >Python基础教程

    python中如何在静态图像中人脸检测?

    宋雪维宋雪维2021-02-22 15:54:11原创2025

    1、使用 OpenCV 进行人脸检测加载图像并检测人脸,在原始图像的人脸周围绘制矩形框。

    # 人脸检测
    import cv2 as cv
    
    def face_detect():
        # 将图片灰度处理,降低色彩的通道
        gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
        # 加载特征数据
        face_detector = cv.CascadeClassifier('D:/Python/opencv/sources/data
        /haarcascades/haarcascade_frontalface_default.xml')
        face = face_detector.detectMultiScale(gray)
    
        for x, y, w, h in face:  # 坐标及宽度高度
            cv.rectangle(img, (x, y), (x+w, y+h), color=(0, 255, 0), thickness=2)  
            # img所画图片,坐标,颜色,宽度
        # 显示
        cv.imshow('result', img)
    
    
    # 加载图片
    img = cv.imread('lena.jpg')
    
    # 人脸检测
    face_detect()
    
    cv.waitKey(0)
    
    cv.destroyAllWindows()

    2、当图片中人数较多时,识别需要指定参数。

    限定识别范围参数:

    scaleFactor(比例因子):图片缩放多少;

    minNeighbors:至少检测多少次;

    minSize maxSize:当前检测区域的最小面积。

    # 将照片灰度
    gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    # 加载特征数据
    face_detector = cv.CascadeClassifier('D:/Python/opencv/sources/data/haarcascades
    /haarcascade_frontalface_default.xml')
    专题推荐:python
    上一篇:python日志记录器的配置 下一篇:python中如何配置Logging处理器

    相关文章推荐

    • python中使用OpenCV画图• 如何对Python数据表进行检查• python如何转换图片灰度?• python日志库的模块化方法• python中Haar级联是什么?• python日志记录器的配置

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网