在我的代码中,在某些时候我必须将 2 个矩阵相乘并将结果放入第 3 个矩阵中。我正在cvMatMul()
为此使用并收到断言失败错误。执行矩阵乘法的代码部分:
CvMat* mulMatTt = cvCreateMat(EigenVector->rows,vi->cols,CV_32FC1);
cvMatMul(vi,EigenVector,mulMatTt);
这里,vi 有 1 行和 10000 列,特征向量是一个 1x1 方阵。我相信错误是在分配矩阵的大小时mulMatTt
。有人可以建议我如何让这个工作吗?
错误:
OpenCV Error: Assertion failed ((D.rows == ((flags & CV_GEMM_A_T) == 0 ? A.rows : A.cols)) && (D.cols == ((flags & CV_GEMM_B_T) == 0 ? B.cols : B.rows)) && D.type() == A.type()) in cvGEMM, file C:\opencv\modules\core\src\matmul.cpp, line 29 30