我想根据从cvCalcOpticalFlowPyrLK的输出中得到的所有点绘制一个边界框。
我已经完成了对物体的跟踪,并能够绘制出表示流动方向的线。但是,在将所有要点分组并归类为对象时遇到问题。
我正在执行一个多对象跟踪项目,该项目所跟踪的对象是道路上的车辆。
关于如何绘制边界框以便仅将相关对象绘制为汽车的任何建议?
谢谢

最佳答案

以下您可以尝试...

  • 由于目标正在移动,因此您可以执行帧区分(diffFrame = currentFrame - prevsFrame )来查找与前一帧相比发生变化的区域,因此仅获取那些位于变化区域上的点(已被光流检测到)。
  • 使用一些聚类技术(例如K均值聚类)将点分组。
  • 一旦对点进行分组,将找到最小x坐标,最小y坐标,最大x坐标和最大y坐标。绘制一个(Xmin,Ymin,(Xmax-Xmin+1),(Ymax-Ymin+1))的矩形框,它是(Xorigin,Yorigin,Widht,Height)
  • 关于opencv - 卢卡斯·卡纳德(Lucas Kanade)Optical Flow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14570373/

    10-12 03:32