import cv2

# 读取图片
img = cv2.imread("image.jpg")
# 加载模型,模型可以从https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml下载
classifier = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
# 人脸检测
# scaleFactor:两次相邻的检测中,搜索窗口扩大的比例系数
# minNeighbors:表示构成检测目标的相邻矩形的最小个数,默认为3,即相邻的检测中,至少有三次检测判断为真,才算真的目标
# minSize:检测目标的最小尺寸
faces = classifier.detectMultiScale(img, scaleFactor=1.1, minNeighbors=3, minSize=(32, 32))
for face in faces:
    x, y, w, h = face
    # 绘制边框
    cv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2)
if len(faces) > 0:
    cv2.imshow("image", img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
posted on 2019-11-01 16:32  yytxdy  阅读(1340)  评论(3编辑  收藏  举报