1

如何使用 Emgu 检测对象的方向和数量?

物体在各个方向移动(2D);并且相机正在看到这些对象(在 2D 表面上)。对象可能在形状上几乎没有差异,但足够相似。

谢谢

4

1 回答 1

3
  1. 调用cvAbsDiff连续帧(可能在每个第 - 帧n(n - gap)第 - 帧)以检测更改并使用阈值处理以获得更改掩码
  2. 对于每个帧调用cvUpdateMotionHistory并将获得的掩码作为参数传递
  3. 要获取运动段(对象)及其方向:
    1. cvCalcMotionGradient先前呼叫累积的呼叫传递运动历史
    2. 将运动分割成段,cvSegmentMotion并为每个段计算角度cvCalcGlobalOrientation

类似的步骤motempl.c在 OpenCV 库中分布的示例中进行了编码。

更新

我认为他们已经实现了几乎完整的 OpenCV 绑定,接口的差异是添加 OOP 的结果。例如这里是一个AbsDiff方法。然而,与运动相关的东西具有不同的结构。使用本MotionInfo中的方法获取运动角度(我通过谷歌搜索找到)。

于 2011-05-04T08:21:09.450 回答