我正在使用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。 我读过很多文档,但没有一个有用。 请帮帮我。谢谢!