OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项

详细描述

该函数执行广义矩阵乘法,类似于 BLAS level 3 中的 gemm 函数:\(D = \alpha*AB+\beta*C\)

参数
src1指向输入 \(M\times N\) 矩阵 \(A\) 或 \(A^T\) 的指针,按行优先顺序存储。
src1_step矩阵 \(A\) 或 \(A^T\) 的两个连续行之间的字节数。
src2指向输入 \(N\times K\) 矩阵 \(B\) 或 \(B^T\) 的指针,按行优先顺序存储。
src2_step矩阵 \(B\) 或 \(B^T\) 的两个连续行之间的字节数。
alpha\(AB\) 前的 \(\alpha\) 乘数
src3指向输入 \(M\times K\) 矩阵 \(C\) 或 \(C^T\) 的指针,按行优先顺序存储。
src3_step矩阵 \(C\) 或 \(C^T\) 的两个连续行之间的字节数。
beta\(C\) 前的 \(\beta\) 乘数
dst指向输入 \(M\times K\) 矩阵 \(D\) 的指针,按行优先顺序存储。
dst_step矩阵 \(D\) 的两个连续行之间的字节数。
m矩阵 \(A\) 或 \(A^T\) 中的行数,等于矩阵 \(D\) 中的行数
n矩阵 \(A\) 或 \(A^T\) 中的列数
k矩阵 \(B\) 或 \(B^T\) 中的列数,等于矩阵 \(D\) 中的列数
flags算法选项(CV_HAL_GEMM_1_T, ... 的组合)。

函数

int hal_ni_gemm32f (const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm32fc (const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm64f (const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m, int n, int k, int flags)
 
int hal_ni_gemm64fc (const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m, int n, int k, int flags)
 

函数文档

◆ hal_ni_gemm32f()

int hal_ni_gemm32f ( const float * src1,
size_t src1_step,
const float * src2,
size_t src2_step,
float alpha,
const float * src3,
size_t src3_step,
float beta,
float * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm32fc()

int hal_ni_gemm32fc ( const float * src1,
size_t src1_step,
const float * src2,
size_t src2_step,
float alpha,
const float * src3,
size_t src3_step,
float beta,
float * dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm64f()

int hal_ni_gemm64f ( const double * src1,
size_t src1_step,
const double * src2,
size_t src2_step,
double alpha,
const double * src3,
size_t src3_step,
double beta,
如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline

◆ hal_ni_gemm64fc()

int hal_ni_gemm64fc ( const double * src1,
size_t src1_step,
const double * src2,
size_t src2_step,
double alpha,
const double * src3,
size_t src3_step,
double beta,
如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 dst,
size_t dst_step,
int m,
int n,
int k,
int flags )
inline