Kanade-Lucas-Tomasi Tracker MATLAB

时间:2015-02-19 13:54:04

标签: matlab computer-vision matlab-cvst

我目前正尝试在MATLAB中使用Kanade-Lucas-Tomasi跟踪器,如下例所示:Face Detection and Tracking Using the KLT Algorithm

问题: 1)。在阅读了一些文献后,我明白KLT跟踪器的输出应该是运动矢量。但是,我只将特征点视为输出。

2)。我还希望在物体移动时绘制轨迹。有人可以解释一下如何做到这一点吗?

1 个答案:

答案 0 :(得分:4)

1)step vision.PointTracker方法返回点的新位置,而不是运动矢量。如果需要运动矢量,可以简单地从新点中减去旧点。

2)对于每个step,只要您不调用setPoints,新点将以与旧点完全相同的顺序返回。我们假设您已经跟踪了2帧的点数:

points1 = step(pointTracker, frame1);
points2 = step(pointTracker, frame2);

请记住,points1points2是x-y坐标的M-by-2矩阵。因此,要绘制第i个点的轨迹,您将执行以下操作:

Xs = [points1(i,1), points2(i,1)];
Ys = [points1(i,2), points2(i,2)];
plot(Xs, Ys, '*-');

顺便说一句,一旦您对此示例感到满意,请查看如何detect and track multiple faces