【OpenCV Error】 Assertion failed (a_size.width == len) in gemm,

在做opencv实验的时候,遇到这个问题。

实验代码问题定位到:

Mat tDiag = Mat::diag(t);
cout << tDiag.rows << " <-rows,tDiag,cols->" << tDiag.cols << endl;
cout << "BreakPoint 21" << endl;
cout << U.rows << " <-rows,U,cols->" << U.cols << endl;
Mat Vt = V.t();
cout << Vt.rows << " <-rows,Vt,cols->" << Vt.cols << endl;
Mat X = U * tDiag * Vt;

实验报错如下:

【OpenCV Error】 Assertion failed (a_size.width == len) in gemm,_第1张图片

原因是在进行矩阵相乘的时候,矩阵的维度不符合标准。

上述代码中U.cols应该和Vt.rows相等才能进行矩阵乘法。

 

参考:https://stackoverflow.com/questions/25377628/assertion-failed-a-size-width-len-in-cvgemm

你可能感兴趣的:(计算机视觉)