当前位置: 代码迷 >> 综合 >> Opencv中Mat矩阵乘法运算—矩阵乘法(*)、对应位乘法(.mul),内积(.dot)
  详细解决方案

Opencv中Mat矩阵乘法运算—矩阵乘法(*)、对应位乘法(.mul),内积(.dot)

热度:49   发布时间:2024-02-26 21:43:24.0

学习参考

Mat类支持的运算

代码演示:

#include<opencv2/opencv.hpp>
#include<iostream>
#include<string>
using namespace cv;
using namespace std;
int main() {Mat a = (Mat_<double>(3,3)<< 1,2,3,4,5,6,7,8,9);Mat b = (Mat_<double>(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);Mat c,d;//矩阵的乘法c = a * b;//矩阵的对应位乘法d = a.mul(b);cout << c <<endl<<d<<endl;//矩阵的内积Mat e = (Mat_<int>(1, 3) << 1, 2, 3);Mat f = (Mat_<int>(1,3) << 4,5,6);int g = e.dot(f);cout << g << endl;//waitKey(0);return(0);
}

结果:

矩阵乘法

[30, 36, 42;
 66, 81, 96;
 102, 126, 150]

对应位相乘
[1, 4, 9;
 16, 25, 36;
 49, 64, 81]

内积
32