opencv人脸追踪
时间: 2023-09-26 10:06:09 浏览: 102
OpenCV是一个广泛使用的计算机视觉库,可以用于人脸追踪和识别。在OpenCV中,可以通过使用级联分类器来检测人脸。级联分类器是一种基于机器学习的算法,通过对已知的人脸和非人脸样本进行训练,来判断输入图像中是否存在人脸。
在OpenCV中,可以使用`CascadeClassifier`类中的`detectMultiScale`方法来进行人脸检测。这个方法会返回一个矩形框的数组,每个矩形框表示一个检测到的人脸的位置和大小。你可以遍历这个数组,对每个矩形框进行进一步的处理,例如在人脸周围画一个矩形框。
下面是一个使用OpenCV进行人脸追踪的示例代码:
```python
import cv2
# 加载图像和级联分类器
img = cv2.imread("image.jpg")
faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
# 检测人脸
faces = faceCascade.detectMultiScale(img)
# 遍历人脸区域并画矩形框
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)
# 显示图像
cv2.imshow("Face Tracking", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码会加载一张图像,并使用已经训练好的级联分类器来检测人脸。然后,它会遍历每个检测到的人脸区域,将一个红色的矩形框画在人脸周围。最后,它会显示带有矩形框的图像。
阅读全文