【问题标题】:object tracking in real time via opencv and python通过 opencv 和 python 实时跟踪对象
【发布时间】:2015-12-25 07:29:08
【问题描述】:

我正在寻找实时跟踪对象的好算法。 到目前为止我发现的最好的一个是 camshift 但问题是我需要对象检测将来自外部图像。(我给算法一个图像,他在视频中找到它......)并且需要 camshift用鼠标选择 ROI 点。我试图改变它,但没有成功。 我愿意学习新算法或更改 camshift。

谢谢。

【问题讨论】:

  • 两个问题:来自单个训练图像的随机对象实时。您是否有已经执行此操作的应用程序示例?

标签: python algorithm opencv image-processing real-time


【解决方案1】:

我不太了解 camshift,但我猜您正在使用 opencv 实现。以下代码是来自 opencv 示例的 sn-p:

        hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
        dst = cv2.calcBackProject([hsv],[0],roi_hist,[0,180],1)

        # apply meanshift to get the new location
        ret, track_window = cv2.CamShift(dst, track_window, term_crit)

对于第一张图片,选择与帧大小一样大的dst 应该可以解决您的问题。否则,您可以使用滑动窗口的方法在第一帧中定位目标。

另一方面,实时一词实际上取决于您在这些方面的要求和部署环境:

  • 输入视频的帧率
  • 帧的分辨率
  • 框架的配色方案(rgb、yuv、gray、hsv、...)
  • 最大/最小目标大小
  • 最大目标速度(像素/帧)
  • 是否应该对遮挡具有鲁棒性?
  • 您的目标最具体的属性是什么:汽车、人类/动物、固体物体、不断变化的形状、转弯......
  • 您使用的是 CPU、DSP 还是 GPU?
  • ...

由于上述所有考虑因素对您的选择非常有效,因此我无法向您推荐具体的考虑因素。例如,This one 可能很有用。

我会深入研究IEEE explore 并进行搜索,例如real time object tracking。我为你做了一个:) Here 是你最好的起点,我猜。

希望这会有所帮助。 悟空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2019-12-07
    • 2017-04-25
    • 2012-11-17
    相关资源
    最近更新 更多