要实现人脸跟踪,可以使用OpenCV库中的人脸识别功能。以下是一个简单的示例代码:

import cv2

# 加载人脸识别器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 打开摄像头
cap = cv2.VideoCapture(0)

while True:
    # 读取摄像头帧
    ret, frame = cap.read()
    
    # 将帧转换为灰度图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # 检测人脸
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
    
    # 在人脸周围绘制矩形框
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
    
    # 显示图像
    cv2.imshow('Face Tracking', frame)
    
    # 按下“q”键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头和销毁窗口
cap.release()
cv2.destroyAllWindows()

在上述代码中,首先加载了一个预训练的人脸识别器(haarcascade_frontalface_default.xml)。然后,通过打开摄像头来获取视频帧。每一帧都会被转换为灰度图像,并使用人脸识别器检测人脸。最后,通过在人脸周围绘制矩形框来标记人脸,并在窗口中显示图像。

注意:为了使代码正常运行,你需要提前下载并将人脸识别器的XML文件(haarcascade_frontalface_default.xml)放置在与代码相同的目录下。你可以从OpenCV的GitHub存储库中找到该文件

人脸跟踪代码

原文地址: https://www.cveoy.top/t/topic/ibdJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录