目录
写在前面
人脸识别-Haar级联_am_student的博客-CSDN博客
在进行单张检测之后,在实际应用中往往是不仅仅是一个人出现在图片中。
同样的方法,利用面部识别加载特征数据。
我们找来了一张含多人面部的图片进行显示测试:
具体程序
import cv2 as cv
def face_detect_demo():
#将图片灰度
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
#加载特征数据
face_detector = cv.CascadeClassifier(
'C:/Users/ZXY13/Desktop/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_detector.detectMultiScale(gray)
for x,y,w,h in faces:
print(x,y,w,h)
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
cv.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,255,0),thickness=2)#计算圆的位置
#显示图片
cv.imshow('result',img)
#加载图片
img=cv.imread('face3.jpg')
#调用人脸检测方法
face_detect_demo()
cv.waitKey(0)
cv.destroyAllWindows()
得到结果:
可以看出来的是,存在一定的误差,在后续应用中还需改进。