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

Posted

技术标签:

【中文标题】如何使用 Emgu 检测对象的方向和数量?【英文标题】:How can I detect direction and number of objects using Emgu? 【发布时间】:2011-05-04 07:56:11 【问题描述】:

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

谢谢

【问题讨论】:

【参考方案1】:
    在连续帧(可能在每个 n-th 和 (n - gap)-th 帧上)调用 cvAbsDiff 以检测更改并使用阈值处理以获得更改掩码 对于每个帧调用 cvUpdateMotionHistory 并将获得的掩码作为参数传递 获取运动片段(对象)及其方向:
      调用cvCalcMotionGradient之前调用累积的传递运动历史 按cvSegmentMotion 将运动分割成段,并使用cvCalcGlobalOrientation 为每个段计算角度

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

更新

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

【讨论】:

请您使用 EmguCV 描述它。我不知道 C 和 EmguCV 与 OpenCV 不同。并且因为我正在使用 C# 进行开发,所以我需要 EmguCV - 作为 OpenCV 周围的 .NET 包装器。但是 EmguCV 的类和方法与您命名的不同:(

以上是关于如何使用 Emgu 检测对象的方向和数量?的主要内容,如果未能解决你的问题,请参考以下文章

Emgu CV 未检测到 CUDA

OpenCV/EMGU (C#) 物体检测

EMGU CV SURF 图像匹配

如何将轮廓层次结构从 python openCV 转换为 emgu cv 以查找封闭轮廓

如何计算模板匹配检测到的对象数量?

EMGU CV 2.4.9 人脸识别准确率问题