python代码实现
第一步:将haarcascade_frontalface_default.xml 下载到本地以方便调用,下载链接:https://github.com/opencv/opencv/blob/ master/data/lbpcascades/lbpcascade_frontalface_improved.xml
#coding:utf-8
import cv2 as cv
#读取原图像
img = cv.imread('*.png')
face_detect = cv.CascadeClassifier("lbpcascade_frontalface_improved.xml")
#检测人脸
#灰度处理
gray = cv.cvtColor(img,code=cv.COLOR_BGR2YCrCb)
#检查人脸,按照1.1倍放大,周围最小像素为5
face_zone = face_detect.detectMultiScale(gray,scaleFactor=2,minNeighbors=2)
#绘制矩形和圆形检测人脸
for x,y,w,h in face_zone:
#绘制矩形人脸区域
cv.rectangle(img,pt1=(x,y),pt2=(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.namedWindow("Easmount-CSDN",0)
#显示图片
cv.imshow("Easmount-CSDN",img)
#等待显示,设置任意键退出
cv.waitKey(0)
cv.destroyAllWindows()在这里插入代码片
参考
打卡内容来自Datawhale组队学习,参考自Aaron的博客https://blog.csdn.net/weixin_39940512