Opencv中Mat矩阵相乘 您所在的位置:网站首页 乘英文函数 Opencv中Mat矩阵相乘

Opencv中Mat矩阵相乘

2024-01-06 09:27| 来源: 网络整理| 查看: 265

Mat矩阵点乘——A*B

Opencv重载了运算符“*”,姑且称之为Mat矩阵“点乘”,其中一个重载声明为:

CV_EXPORTS MatExpr operator * (const Mat& a, const Mat& b);

点乘说明:

1.  A*B是以数学运算中矩阵相乘的方式实现的,即Mat矩阵A和B被当做纯粹的矩阵做乘法运算,这就要求A的列数等       于B的行数时,才能定义两个矩阵相乘。如A是m×n矩阵,B是n×p矩阵,它们的乘积AB是一个m×p矩阵。

如上图所示,C=AB。C中第i行第j列所在元素C(i,j)等于A中第i行所有元素跟B中第j列所有元素一一对应的乘积之和。

更具有代表性的的:对于A、B都是2行2列矩阵的情况:

Opencv验证:

定义两个Mat矩阵A和B点乘,A为2行3列,B为3行2列:

#include "core/core.hpp" #include "iostream" using namespace std; using namespace cv; int main(int argc,char *argv[]) { Mat A=Mat::ones(2,3,CV_32FC1); Mat B=Mat::ones(3,2,CV_32FC1); Mat AB; A.at(0,0)=1; A.at(0,1)=2; A.at(0,2)=3; A.at(1,0)=4; A.at(1,1)=5; A.at(1,2)=6; B.at(0,0)=1; B.at(0,1)=2; B.at(1,0)=3; B.at(1,1)=4; B.at(2,0)=5; B.at(2,1)=6; AB=A*B; cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有