使用openCV python记录x/y轴移动

使用openCV python记录x/y轴移动,python,opencv,haar-classifier,Python,Opencv,Haar Classifier,我试图从视频文件中记录对象(在本例中,是由haar cascade检测到的人脸的一部分)移动的距离。到目前为止,我已经在希望记录x/y移动数据的面部分绘制了一个矩形,但无法找到如何准确存储面在二维中移动的距离/方式的信息。我的代码如下: import cv2 import numpy as py from matplotlib import pyplot as plt face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_

我试图从视频文件中记录对象(在本例中,是由haar cascade检测到的人脸的一部分)移动的距离。到目前为止,我已经在希望记录x/y移动数据的面部分绘制了一个矩形,但无法找到如何准确存储面在二维中移动的距离/方式的信息。我的代码如下:

import cv2
import numpy as py
from matplotlib import pyplot as plt 

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture("resources/video/EXAMPLE.mp4")

while True:
    ret, img = cap.read()
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.3, 9)
    for (x,y,w,h) in faces:
        cv2.rectangle(img, (x,y), (x+w, int(y+h/3)), (255,0,0), 2)


    cv2.imshow('img',img)
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break

cap.release()
cap.destroyAllWindows()

任何关于我如何记录移动数据的信息/提示都将不胜感激

如果只想存储坐标,可以将(x,y)元组添加到

如果你只跟踪一张脸,你可以使用

如果要跟踪多个面,可以检出