技术文章 > Python技术 >  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')
免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python中使用OpenCV画图
  python使用OpenCV设置图片尺寸
  如何对Python数据表进行检查
  python如何转换图片灰度?
  python日志库的模块化方法
  python中Haar级联是什么?
  python日志记录器的配置
相关视频章节
  Python应用领域
  五分钟装好Python解释器
  Python的代码缩进规范
  用python操作文件的3种模式
视频教程分类