1

我正在尝试使用两个带有 EM 算法的高斯混合来估计视频帧的颜色分布。为此,我想在颜色分布中使用两个单独的峰值作为两个高斯均值,以方便 EM 计算。在 OpenCV 中实现这些我有几个困难。

我的第一个问题是:如何确定这两个峰值?我在 OpenCV 中搜索了峰值估计,但仍然找不到任何单独的函数。所以我要确定两个区域,然后找到它们的最大值作为峰值。这种方式正确吗?

我的第二个问题是:如何在 OpenCV 中使用 EM 执行高斯混合模型?据我所知,“cv::EM::predict”函数可以给我最可能的混合成分的索引。但是我在训练 EM 方面遇到了困难。我搜索并找到了其他一些代码,但是找到正确的参数太难了。有人可以为此提供任何示例代码吗?先感谢您。

4

2 回答 2

1

@ederman,尝试 {OpenCV library location}\opencv\samples\cpp\em.cpp 而不是网络链接。我认为链接中的示例代码现在已经过时了。我已经在 OpenCV 2.3.1 中成功编译了示例代码。对于 2.4.2 来说应该不是问题。

祝你好运:)

于 2012-10-15T13:37:32.810 回答
0

我的第一个问题是:如何确定这两个峰值?

我将遍历可能的样本值范围,并测试 EM.predict(sample)[0] 何时达到峰值。

于 2015-11-27T04:07:42.357 回答