2012-05-27 42 views
3

我想跟踪视频中的对象。所以我想我可以在Opencv和C++中使用“高斯混合模型”。我想知道如何在C++中编写高斯混合模型。有没有比GMM更好的算法?如何在C++和Opencv中编写高斯混合模型

+0

你最好先解释你想跟踪的对象的类型,然后再解释一下应用程序,然后询问什么类型的方法适合追踪它。 GMM在这里可能不合适,因此开始考虑如何实施GMM并不是富有成效的。 –

+0

非常感谢您的答复。我想跟踪道路标志牌(bt,无需标识此步骤中的标志,即由项目的其他功能完成)。通过阅读研究论文,我得到了一些关于GMM的想法,我认为更好地确定这种基本形状(矩形,圆形和三角形形状)是否有比GMM更好的算法。 – Thar1988

回答

0

对不起,没有直接回答这个问题,但:

阅读研究论文是做,但说实话,你会在你的具体数据尝试自己的想法得到在这一点上更了解一个伟大的事情并更好地了解问题。

如果您知道形状,最好使用广义霍夫变换或匹配滤波器进行位置估计,并结合卡尔曼滤波器进行跟踪。这些将相对容易实施。或者,也许你可以找到现有的实现。

另外,如果你不是一个非常好的C++程序员,我会用Matlab或Octave而不是C++来创建你的想法,因为当你问题本身就是你时,你最终会用C++中的问题浪费大部分时间真的很想关注。

正如我在评论中所说,我现在跳过使用GMM,直到你对问题有更好的理解,以及你将如何使用它们。 (当然,除非你已经对你将如何使用它们有了一个好主意)。

+0

非常感谢您的答复。是的,我可以理解,我应该尝试自己的想法,以获得有关问题的良好知识,我尽我所能做到这一点。所以我做了一些编码,但我不知道会给出更好的输出结果。我做了什么是首先从视频中提取图像,并且该部分现在完成。下一部分是识别这些图像的形状。我不知道这会正常工作,因为它有两个步骤比众所周知的C++算法。我希望你为此提供宝贵的建议。 – Thar1988

+0

(其他的事情是该项目应根据拼贴所提供的作业使用opencv和C++) – Thar1988

+1

但是关于使用Matlab/easy语言进行原型设计,没有任何说法。在OpenCV中实现一些不起作用的东西毫无意义,这是浪费你的时间。我同意Chris A的观点,不要使用GMM。至少不是现在。从Hough变换开始。实施它。了解它的工作原理 - 或者是什么让它停止工作。考虑一些改进。考虑预处理。如果您现在开始使用GMM,a)您将使用哪些参数,以及b)如果它们不起作用,您不知道为什么。 –