欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

opencv 人脸检测 python代码

程序员文章站 2022-07-12 20:17:14
...

 实现功能:给定一张图片,寻找图中的人脸,并用矩形框标记,按下Esc键,关闭所有窗口

# !/user/bin/env python
# -☆- coding:utf-8 -☆-
# author:lishan time:2020/6/30
import cv2
# 读取图片
# demo.jpg为图片名,自己修改
image = cv2.imread('demo.jpg')
# 显示图片
cv2.imshow('orignal', image)
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 加载haar检测器
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 人脸检测
faces = faceCascade.detectMultiScale(
    # 待检测图像
    gray,
    # 缩放因子
    scaleFactor=1.15,
    # 同一人脸的最小检测标记个数
    minNeighbors=2,
    # 目标最小检测尺寸大小
    minSize=(5, 5)
)
# 打印人脸位置坐标
# print(faces)
# 打印人脸个数
print('发现{0}个人脸!'.format(len(faces)))
# 标记人脸
for (x, y, w, h) in faces:
    # 矩形标注
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 0)
# 显示检测结果
cv2.imshow('detect', image)
while True:
    key = cv2.waitKey(1)
    # 按下Esc键退出
    if int(key) == 27:
        break
# 销毁所有窗口
cv2.destroyAllWindows()

 检测效果如下:opencv 人脸检测 python代码

参考书籍:李立宗著. OpenCV轻松入门 面向Python[M]. 北京:电子工业出版社, 2019.05.

代码来源:在书中第23章第一节中的代码

 

相关标签: Opencv python