资源简介

利用python-OpenCV写的人脸检测程序,可检测图片中所有人脸并标记出来,资源中包含所需的全部文件(图片、模型、py文件),已调试通过可直接运行,详细可参考本人博客。

资源截图

代码片段和文件信息

# encoding:utf-8
import cv2


face_cascade = cv2.CascadeClassifier(‘haarcascade_files/haarcascade_frontalface_default.xml‘)
eye_cascade = cv2.CascadeClassifier(‘haarcascade_files/haarcascade_eye.xml‘)

# 读取图像
img = cv2.imread(‘west.jpeg‘)
gray = cv2.cvtColor(img cv2.COLOR_BGR2GRAY)  # 转为灰度图


# 检测脸部
faces = face_cascade.detectMultiScale(gray
                            scaleFactor=1.1
                            minNeighbors=5
                            minSize=(30 30)
                            flags=cv2.CASCADE_SCALE_IMAGE)
print(‘Detected ‘ len(faces) “ face“)


# 标记位置
for (x y w h) in faces:
    img = cv2.rectangle(img (x y) (x + w y + h) (255 0 0) 1)
    # cv2.circle(img (int((x + x + w) / 2) int((y + y + h) / 2)) int(w / 2) (0 255 0) 1)
    roi_gray = gray[y: y + h x: x + w]
    roi_color = img[y: y + h x: x + w]

    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex ey ew eh) in eyes:
        cv2.rectangle(roi_color (ex ey) (ex + ew ey + eh) (0 255 0) 1)


label = ‘Result: Detected ‘ + str(len(faces)) +“ faces !“
cv2.putText(img label (10 20)
            cv2.FONT_HERSHEY_script_COMPLEX
            0.8 (0 0 0) 1)

# 显示图像
cv2.imshow(‘img‘ img)
cv2.waitKey(0)
cv2.destroyAllWindows()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     341406  2019-03-14 20:13  face-recognition\haarcascade_files\haarcascade_eye.xml

     文件     930126  2019-03-14 20:13  face-recognition\haarcascade_files\haarcascade_frontalface_default.xml

     文件       1347  2019-06-01 22:45  face-recognition\test.py

    I.A.SH.     15360  2019-06-01 22:46  face-recognition\Thumbs.db

     文件      96838  2019-06-01 20:03  face-recognition\west.jpeg

     目录          0  2019-06-01 22:46  face-recognition\haarcascade_files

     目录          0  2019-06-01 22:46  face-recognition

----------- ---------  ---------- -----  ----

              1385077                    7


评论

共有 条评论