首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV C++等高线-保持结果在帧上连续

OpenCV C++等高线-保持结果在帧上连续
EN

Stack Overflow用户
提问于 2015-02-14 12:56:30
回答 1查看 173关注 0票数 0

我有一个实时应用程序在OpenCV,我需要采取当前的视频帧,并分析它的等高线,然后与这些轮廓的质心工作。到目前为止,基本知识都很好,而且很有用。

我预见到的问题是,我的输入帧是‘噪音’的程度,我可能会看到不同数量的质心为每一个帧,它是如何处理这是我的兴趣。

我感兴趣的对象在每一帧中都给出了肯定的结果,例如,如果我期望得到14,那么对于每一帧,我至少会得到14。我还先验地知道帧中的对象之间的空间关系(例如,它们永远不会交叉,有对称性,例如,在其他规则中,左上角的完全是这样的:左上角-总是这样),所以我可以相信,无论openCV findContours函数找到它们的顺序是什么,它们都将保持不变(例如,可能会发现第三条轮廓始终是左上角的)。

这是错误的积极是问题,因为他们对秩序抓狂,我刚才概述的“逻辑”崩溃,不友好。假阳性可以出现在任何地方,我可能会有15个质心,因此'3‘现在可能是假阳性,'4’是左上角,等等。

问:它看起来就像一个只点击一次的函数--清除你的向量,重新开始某种事情--但是OpenCV有办法绕过这个内置的函数吗?

如果我不得不用自己的方法--他们通常的策略是什么?

由于帧中的对象是连续帧之间的相邻的“在一个范围内”,我想,结合上述已知的空间关系(同样,“在一个范围内”),我可以用气体烹饪:) -事情是,我会在每个帧之间这样做.

在循环执行时间方面,我面临着一堵很短的时间可玩的墙--如果我可以依靠已经解决的问题,用最优的算法复杂度与我自己的拼图来比较,我是完全支持的。

有人要教我什么吗?(我说得通吗?)

因此,建议‘问题可能已经有你的答案’-当然是相关的-但更具体,我的也许是更一般的(?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-15 22:42:25

正在做更多的研究同时..。

只需要谷歌的关键词,然后它就到位了-“多目标跟踪”和“数据关联”。

看起来这个方法适用于每一个帧:

  1. 用卡尔曼滤波器预测质心的下一个位置。
  2. 使用匈牙利算法“最佳”地将预测的质心候选人与14个可用位置相匹配--如果有假阳性,他们将是这一步之后遗留下来的。
  3. 质心不再是候选的,而是现在的质心,因此计算了卡尔曼滤波的更新/校正步骤。
  4. 冲洗/重复..。

这是非常统计的-你永远不知道它是否‘正确’(即一个假阳性可以启动一个正确的候选人),但相信这是最好的,可以做到的范围内,它提供的复杂性。如果卡尔曼滤波器调得很好,那么人类可能会犯同样的错误.

事后看来,不是 20/20 :)

仍然需要实现它,也许当我看到结果时,我会编辑我的答案。

UPDATE>实现成功的-下面是一些从:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28515869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档