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

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

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    # 人脸检测

    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:当前检测区域的最小面积。

    1

    2

    3

    4

    5

    # 将照片灰度

    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学习网