1

私のコードでは、特定の時点で 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
4

2 に答える 2