先看效果图:随便在网上找了张图片
温馨提示:
faceCascade=cv2.CascadeClassifier("/home/pi/opencv-3.4.1/data/haarcascades/haarcascade_frontalface_default.xml") #必须找到你安装的opencv的分类器的haarcascade_frontalface_default.xml文件
最后贴上代码:
import cv2
import sys
# Get user supplied values
#imagePath = sys.argv[1]
# Create the haar cascade
faceCascade = cv2.CascadeClassifier("/home/pi/opencv-3.4.1/data/haarcascades/haarcascade_frontalface_default.xml")
# Read the image
image = cv2.imread("/home/pi/images/face1.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Detect faces in the image
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.15,
minNeighbors=5,
minSize=(5,5),
flags = cv2.CASCADE_SCALE_IMAGE)
print "Found {0} faces!".format(len(faces))
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow("Faces found", image)
#crop = image[y:y+h,x:x+w]
#cv2.imwrite(crop)
cv2.imshow(crop)
cv2.waitKey(0)