opencv打开图片检测人脸

# coding:utf-8
import cv2

# 待检测的图片路径

imagepath = "/home/lucky/Pictures/three girls.jpg"

# 获取训练好的人脸的参数数据,这里直接从GitHub上使用默认值
face_cascade = cv2.CascadeClassifier(r"/home/lucky/Desktop/haarcascade_frontalface_default.xml")

# 读取图片
image = cv2.imread(imagepath)
# 转换成灰度的图片降低计算强度
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 探测图片中的人脸
faces = face_cascade.detectMultiScale(
    gray,
    scaleFactor=1.15,
    minSize=(5, 5),
    minNeighbors=5,
    flags=cv2.CASCADE_SCALE_IMAGE
    #flags=cv2.cv.CV_HAAR_SCALE_IMAGE #cv2 vision if it is 2_version use it
    # flags = cv2.CV_HAAR_SCALE_IMAGE
)

print("发现{0}个人脸!".format(len(faces)))

cv2.imshow(imagepath, image)
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + w), (0, 255, 0), 2)
    # cv2.circle(image, [(x + x + w) / 2, (y + y + h) / 2], w / 2, (0, 255, 0), 2)

cv2.imshow('find face', image)
cv2.waitKey(10000000)

猜你喜欢

转载自blog.csdn.net/weixin_42309501/article/details/80620805
今日推荐