OpenCV——Mat矩阵运算

Mat矩阵运算

Mat的运算:A和B是Mat类型,s是标量,a是double类型的标量

  • 加减、取负:A+B A-B A+s A-s s+A s-A -A
  • 按元素相乘和相除:A.mul(B)A/B, alpha / A
  • 矩阵乘法:A*B
  • 转置:A.t()
  • 矩阵的逆:A.inv()
  • 按位进行逻辑运算:A & B A | B
  • 按位最大和最小:min(A, B)max(A, B)
  • 计算Mat的元素和:sum(A)
  • 对Mat按元素求次幂:pow(src_mat, 2, dst_mat)
  • 求Mat的特征值和特征向量:Mat eValuesMat;Mat eVectorsMat; eigen(myMat, eValuesMat, eVectorsMat);

  • Mat沿着某一维度进行取最大、取最小、求和、求平均操作:reduce(inputarray, outputarray, dim, rtype, dtype)
    dim和python中的相反,如果想要结果是行向量,那就设成0。rtype可以取值REDUCE_MAX, REDUCE_MIN, REDUCE_SUM, REDUCE_AVG。

  • Mat最大值和最小值以及位置:

minMaxLoc(SparseMat &a, double* minVal, double* maxVal, int* minIdx=(int*)0, int* maxIdx=(int*)0)
minMaxLoc(InputArray src, double* minVal, double* maxVal, Point* minLoc=(Point*)0, Point* maxLoc=(Point*)0)

你可能感兴趣的:(OpenCV)