c++ Opencv矩阵乘法

6yjfywim  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(112)

我需要乘以一个矩阵和它的转置,但我得到以下错误:

OpenCV Error: Assertion failed (type == B.type() && (type == CV_32FC1 || type ==
 CV_64FC1 || type == CV_32FC2 || type == CV_64FC2)) in unknown function, file ..
\..\..\src\opencv\modules\core\src\matmul.cpp, line 711

字符串
代码如下:

int dA[] = {
     1,     2,     3,
     4,     5,     6,
     6,     5,     4,
    }; 
Mat A = Mat(3,3, CV_32S, dA );
Mat C = A.t()* A;

arknldoa

arknldoa1#

OpenCV仅支持浮点真实的或复杂类型的矩阵的矩阵乘法。
您正在创建有符号整数类型的矩阵。
支持的类型包括:

CV_32FC1 //real float
CV_32FC2 //complex float
CV_64FC1 //real double
CV_64FC2 //complex double

字符串
以下类似的代码将工作:

float dA[] = {
     1,     2,     3,
     4,     5,     6,
     6,     5,     4,
    }; 
Mat A = Mat(3,3, CV_32F, dA );
Mat C = A.t()* A;

相关问题