大矩阵的 Opencv 乘法

Opencv Multiplication of Large matrices

本文关键字:Opencv 乘法      更新时间:2023-10-16

我有 2 个维度为 1*280000 的矩阵。

我想使用 opencv 将一个矩阵与转置的第二个矩阵相乘。

我尝试使用乘法运算符 (*) 将它们相乘。

但它给了我错误:"总大小矩阵不适合size_t类型"

乘法后,矩阵的大小将为280000 * 28000。

所以,我认为乘法应该是 32 位。

有什么方法可以进行 32 位乘法吗?

为什么要这样乘以它们?但因为这是一个答案,我想帮助你思考更多,而不仅仅是做它:

  • 假设您有两个矩阵:ABA.size() == B.size() == [1x280000] )。
  • A * B.t() = AB(AB 是结果)
  • 然后AB = [A[0][0]*B A[0][1]*B ... A[0][279999]*B](每列是转置矩阵乘以另一个矩阵的相应元素)

AB也可以写成:

[ B[0][0]*A
  B[0][1]*A
  ...
  B[0][279999]*A]

结果的每一行将是行矩阵乘以列(转置)矩阵的相应元素)

希望这对您正在做的事情有所帮助...使用 for 循环,您可以打印、存储或结果所需的内容