后浪云Python教程:python中如何在静态图像中人脸检测?
1、使用 OpenCV 进行人脸检测加载图像并检测人脸,在原始图像的人脸周围绘制矩形框。
# 人脸检测 import cv2 as cv def face_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) for x, y, w, h in face: # 坐标及宽度高度 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:至少检测多少次;
minSize maxSize:当前检测区域的最小面积。
# 将照片灰度 gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # 加载特征数据 face_detector = cv.CascadeClassifier('D:/Python/opencv/sources/data/haarcascades /haarcascade_frontalface_default.xml')
版权声明:
作者:后浪云
链接:https://www.idc.net/help/173963/
文章版权归作者所有,未经允许请勿转载。
THE END