我正在尝试在代码中计算协方差矩阵,但是这样做却出错了。我有要使用的均值数组。这是我的代码

Mat Zt(Z);
Mat Zttranspose;
Mat covarZ=cvCreateMat(image->nChannels,image->nChannels,CV_32FC1);

Zttranspose=Zt.t();

Mat_<float> arraymean=(Mat_<float>(3,3)<< meanb, meang, meanr);

calcCovarMatrix(Zt,covarZ,arraymean,CV_COVAR_USE_AVG,CV_64F)

但是我收到以下错误:
OpenCV Error: Assertion failed (((flags & CV_COVAR_ROWS) != 0) ^ ((flags & CV_COVAR_COLS) != 0)) in calcCovarMatrix, file /usr/local/src/OpenCV-2.3.0/modules/core/src/matmul.cpp, line 2127 terminate called after throwing an instance of 'cv::Exception'

最佳答案

Mat covarZ = cvCreateMat(..);我认为您已经将C和C++ API混在一起了。

您可能想看看此链接http://pastebin.com/cWQi4ngv

我已经尝试过了,而且效果很好。

关于eclipse - 在openCv中使用calcCovarMatrix时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10355213/

10-12 18:00