如何使用 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 检测对象的方向和数量?的主要内容,如果未能解决你的问题,请参考以下文章