Feb
15
2018
opencv 人脸识别
# coding:utf-8
import sys
import cv2
clicked = False
def onMouse(event, x, y, flags, param):
global clicked
if event == cv2.EVENT_LBUTTONUP:
clicked = True
cv2.namedWindow('FindFaces')
cv2.setMouseCallback('FindFaces', onMouse)
# 待检测的图片路径
imagepath = r'./510089245799447657.jpg'
# 获取训练好的人脸的参数数据,这里直接从GitHub上使用默认值
face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')
# 读取图片
image = cv2.imread(imagepath)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# 探测图片中的人脸
faces = face_cascade.detectMultiScale(
gray,
scaleFactor = 1.15,
minNeighbors = 5,
minSize = (5,5),
flags = cv2.CASCADE_SCALE_IMAGE
)
print ("发现{0}个人脸!".format(len(faces)))
print('Click window or press any key to Exit.')
for(x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
cv2.imshow("FindFaces",image)
while True:
if cv2.waitKey(1) == -1 and clicked:
cv2.destroyAllWindows()
break
微信扫一扫,打赏作者吧~
最活跃的读者