OpenCV:如何获得GMM协方差矩阵?

时间:2017-01-12 06:38:46

标签: opencv

我正在使用cv :: EM来训练GMM。一切正常,除非我想得到协方差矩阵,我得到了一个Debug Assertion失败。

代码是:

cout << "Test the EM algorithm in Opencv" << endl;
cv::EM em(5);
em.train(training_set);
cout << "Finished trainging EM" << endl;
if (em.isTrained())
{
    const cv::Mat &weights =  em.get<cv::Mat>("weights");
    const cv::Mat &Means = em.get<cv::Mat>("means");
    const vector<cv::Mat> &Covs = em.get<vector<cv::Mat>>("covs");
}
system("pause");

,错误信息为:

  

Debug Assertion失败!

     

程序:D:\ Kinect test \ GMM \ GMM \ x64 \ Debug \ GMM.exe文件:   f:\ dd \ vctools \ crt \ crtw32 \ misc \ dbgheap.c行:1424

     

表达式:_pFirstBlock == pHead

     

有关程序如何导致断言失败的信息,   请参阅关于断言的Visual C ++文档。

我正在使用opencv2.4.13和visual studio 2015。 我读过很多文档,但没有一个有用。 请帮帮我。谢谢!

0 个答案:

没有答案