21xrx.com
2024-11-22 00:24:51 Friday
登录
文章检索 我的文章 写文章
Python OpenCV人脸检测:统计人数
2023-10-04 21:51:30 深夜i     --     --
Python OpenCV 人脸检测 统计 人数

Python OpenCV是一种广泛用于计算机视觉任务的库,而人脸检测是其中非常重要的一个应用。本文将介绍如何使用Python OpenCV来进行人脸检测,并且统计检测到的人数。

首先,我们需要安装OpenCV库。可以通过pip install opencv-python命令来完成安装。确保你已经正确安装了Python和pip。

接下来,我们需要导入所需的库。在Python脚本的开头部分,添加以下代码:


import cv2

现在,我们可以开始编写人脸检测的代码了。首先,我们需要加载一个图像或视频来进行检测。这里,我们将以图像为例。添加以下代码来加载图像:


image = cv2.imread('input.jpg')

请将'input.jpg'替换为你自己的图像路径。

接下来,我们需要使用OpenCV提供的Haar级联分类器来进行人脸检测。这些分类器是事先训练好的,可以用来检测人脸。以下是使用Haar级联分类器进行人脸检测的代码:


face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.1, 4)

在上述代码中,我们首先加载了Haar级联分类器,并将图像转换为灰度图像。然后,我们调用detectMultiScale函数来进行人脸检测。该函数返回一个人脸矩形框的列表。每个矩形框都包含人脸的位置和大小。

最后,我们可以统计人脸的数量并进行显示。添加以下代码来完成统计并显示:


print("Number of faces detected:", len(faces))

for (x, y, w, h) in faces:

  cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)

cv2.imshow('Faces Detected', image)

cv2.waitKey(0)

cv2.destroyAllWindows()

在上述代码中,我们首先使用len函数统计人脸矩形框的数量,并将结果打印出来。

然后,我们使用rectangle函数在图像上绘制人脸矩形框。每个矩形框由左上角和右下角的坐标确定。这里我们将人脸矩形框画成蓝色。

最后,我们使用imshow函数来显示带有人脸检测结果的图像,并使用waitKey函数来等待用户按下任意键关闭窗口。

现在,我们可以运行代码并进行人脸检测了。确保你的图像路径正确,并执行脚本。你将在控制台上看到检测到的人脸数量,并在一个新窗口中看到带有人脸矩形框的图像。

总结起来,本文介绍了在Python中使用OpenCV进行人脸检测的方法,并统计了检测到的人数。希望本文能对你在人脸检测任务中提供帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复