物体跟踪,避免两个物体的碰撞和当前速度

时间:2014-04-10 18:30:48

标签: java opencv collision-detection

我需要对Kinect相机拍摄的图像进行评估,以便检测两个移动物体是否会发生碰撞。移动物体的形状,大小和颜色是事先已知的。

我的任务是:

  • 两个对象的当前位置

  • 两个物体中每一个的当前速度

我在Opencv和Java上做这个项目,我能够从笔记本电脑网络摄像头和Kinect跟踪两个彩色对象。

如何找到两个物体的当前位置和速度?

2 个答案:

答案 0 :(得分:0)

从数学上看,你需要有两张照片,然后你可以按时间划分距离。

double distance = Math.sqrt(Math.pow((objectbefore.x-objectafter.x),2)+ Math.pow((objectbefore.y-objectafter.y),2))

Timer对象以java中的整数计数,所以:

int time = Timer.getTime()(之后) - Timer.getTime()(之前)(这在java中是不正确的,但你会得到我的意图)

答案 1 :(得分:0)

这取决于您是否可以按像素移动对象像素。让我向你解释一下。如果成为一个对象,例如:

Rectangle block = new Rectangle(block.x, block.y, block.width, block.height);

你还需要一个Timer对象让它移动:

java.util.Timer time;
time.schedule(task, delay, period);

然后你应该在对象时间和对象块之间建立依赖关系。完成后,您可以移动块。在任何时候你都可以询问block.x或block.y(块的位置),你也可以用某种方法来询问时间。所以你可以实际测量速度。