cvGEMM、cvMatMul和cvMatMulAdd的定义

一、GEMM函数的定义

void cvGEMM( const CvArr* src1, const CvArr* src2, double alpha,

const CvArr* src3, double beta, CvArr* dst, int tABC=0 );

这是通用矩阵乘法,其中各个参数表示:

src1:第一输入数组

src2:第二输入数组

alpha:系数

src3“第三输入数组(偏移量),如果没有偏移量,可以为空(NULL)

beta:表示偏移量的系数

dst:输出数组

tABC:

转置操作标志,可以是0。当为0时,没有转置。或者还有下面的值的组合:

CV_GEMM_A_T:表示src1转置

CV_GEMM_B_T:表示src2转置

CV_GEMM_C_T:表示src3转置

例如,CV_GEMM_A_T+CV_GEMM_C_T对应

alpha*(src1转置)*src2+beta*(src3转置)

二、cvMatMul函数的定义

#define cvMatMul(src1,src2,dst);

表示dst=src1*src2

三、cvMatMulAdd函数的定义

#define cvMatMulAdd(src1,src2,src3,dst);

表示:dst=src1*src2+src3

四、cvConvertScaleAbs函数

该函数作用:使用线性变换转换输入数组元素成8位无符号整型

原型:void cvConvertScaleAbs( const CvArr* src, CvArr* dst, double scale=1, double shift=0 );

           src : 原数组

           dst :输出数组 (深度为 8u).

           scale :比例因子.

           shift :原数组元素按比例缩放后添加的值。

函数 cvConvertScaleAbs 存贮变换结果的绝对值:dst=abs(src*scale + shift)








你可能感兴趣的:(opencv)