📅  最后修改于: 2023-12-03 15:40:53.120000             🧑  作者: Mango
Opencv是一个强大的计算机视觉库,可以用于各种图像和视频处理任务。它提供了一个Python接口,方便Python开发者使用。本文将介绍如何使用Opencv Python库,编写一个人脸检测程序。
本程序将使用Opencv提供的人脸检测器CascadeClassifier,这是一个训练好的分类器,可以用于检测人脸。首先,我们需要加载这个分类器:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
接下来,我们读取一张图片,并将其转换为灰度图像:
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
然后,我们使用CascadeClassifier来检测人脸:
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
这个方法返回一个矩形列表,表示检测到的所有人脸的位置和大小。
最后,我们将这些矩形在原始图像上用矩形框标出来:
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
这将在原始图像上绘制一个蓝色的矩形框,表示检测到的人脸。
最后,我们将显示修改后的图像:
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
下面是完整的人脸检测Python程序代码:
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
本程序演示了如何使用Opencv Python库进行人脸检测。CascadeClassifier是一个强大的工具,可以用于许多图像和视频处理任务。如果你对计算机视觉感兴趣,这是一个值得学习的库!