OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
奇异值矩阵分解

详细描述

对 \(M\times N\)( \(M>N\)) 矩阵 \(A = U*\Sigma*V^T\) 进行奇异值分解。

参数
src指向以列主序存储的输入 \(M\times N\) 矩阵 \(A\) 的指针。工作完成后,src 将填充 U 的行,或者不修改(取决于标志 CV_HAL_SVD_MODIFY_A)。
src_step矩阵 \(A\) 两列之间字节数。
w指向矩阵 \(A\) 奇异值数组的指针(即矩阵 \(\Sigma\) 的前 \(N\) 个对角元素)。
u指向输出 \(M\times N\) 或 \(M\times M\) 矩阵 \(U\) 的指针(大小取决于标志)。如果未使用标志 CV_HAL_SVD_MODIFY_A,则指针必须有效。
u_step矩阵 \(U\) 两行之间字节数。
vt指向 \(N\times N\) 矩阵 \(V^T\) 的指针。
vt_step矩阵 \(V^T\) 两行之间字节数。
m矩阵 \(A\) 的行数。
n矩阵 \(A\) 的列数。
flags算法选项(CV_HAL_SVD_FULL_UV 等的组合)。

函数

int hal_ni_SVD32f (float *src, size_t src_step, float *w, float *u, size_t u_step, float *vt, size_t vt_step, int m, int n, int flags)
 
int hal_ni_SVD64f (double *src, size_t src_step, double *w, double *u, size_t u_step, double *vt, size_t vt_step, int m, int n, int flags)
 

函数文档

◆ hal_ni_SVD32f()

int hal_ni_SVD32f ( float * src,
size_t src_step,
float * w,
float * u,
size_t u_step,
float * vt,
size_t vt_step,
int m,
int n,
int flags )
内联

◆ hal_ni_SVD64f()

int hal_ni_SVD64f ( double * src,
size_t src_step,
double * w,
double * u,
size_t u_step,
double * vt,
size_t vt_step,
int m,
int n,
int flags )
内联