python中如何在静态图像中人脸检测?
1、使用 OpenCV 进行人脸检测加载图像并检测人脸,在原始图像的人脸周围绘制矩形框。
#人脸检测 importcv2ascv defface_detect(): #将图片灰度处理,降低色彩的通道 gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) #加载特征数据 face_detector=cv.CascadeClassifier('D:/python/opencv/sources/data /haarcascades/haarcascade_frontalface_default.xml') face=face_detector.detectMultiScale(gray) forx,y,w,hinface:#坐标及宽度高度 cv.rectangle(img,(x,y),(x+w,y+h),color=(0,255,0),thickness=2) #img所画图片,坐标,颜色,宽度 #显示 cv.imshow('result',img) #加载图片 img=cv.imread('lena.jpg') #人脸检测 face_detect() cv.waitKey(0) cv.destroyAllWindows()
2、当图片中人数较多时,识别需要指定参数。
限定识别范围参数:
scaleFactor(比例因子):图片缩放多少;
minNeighbors:至少检测多少次;
#将照片灰度 gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) #加载特征数据 face_detector=cv.CascadeClassifier('D:/python/opencv/sources/data/haarcascades /haarcascade_frontalface_default.xml')
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。