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:至少检测多少次;
minSizemaxSize:当前检测区域的最小面积。
#将照片灰度
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
#加载特征数据
face_detector=cv.CascadeClassifier('D:/Python/opencv/sources/data/haarcascades
/haarcascade_frontalface_default.xml')
以上就是python培训之如何在静态图像中人脸检测?希望能对大家有所帮助。更多Python学习教程请关注IT培训机构:千锋教育。http://www.mobiletrain.org/