⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrix.h

📁 opencv实现的人体运动跟踪源码
💻 H
字号:
#ifndef _MATRIX_CB_
#define _MATRIX_CB_

class CMatrix
{
public:
	CMatrix();
	~CMatrix();

	BOOL Scale(double * src, double * dest, double value, int height, int width);
	BOOL SVD(double *A, int height, int width,  double *w, double *v);
	BOOL EigenVV(double *src, int srcHeight, double * evects, int evectsHeight, 
			  double * evals, int evalsNum, double eps );
	BOOL SVDNew(double *A, int height, int width, double * w, double *v);


	BOOL Transpose(double *src, int height, int width, double *des);
	BOOL Mul(double * src1, int height1, int width1, double * src2, int height2, int width2, double *dest);
	BOOL Add(double * src1, double * src2, double * dest, int height, int width);
	BOOL Sub(double * src1, double * src2, double * dest, int height, int width);
	BOOL Invert(double *src, int matrSize, double *des);
	BOOL InvertNew(double *src, int matrSize, double *des);
	
	BOOL SetIdentity(double *Matr, int width, int height);
	BOOL ScaleVector(double *src, double *dest, int length, double value);
	BOOL SubVector(double *src1, double *src2, double *dest, int length);
	BOOL MulTransposed(double * src, int srcHeight, int srcWidth, double * dst, int dstHeight, int dstWidth, int order );

	double Trace(double *matr, int width, int height);
	double DotProduct(double *src1, double *src2, int length);
	double Det(double *matr, int matrSize);
    
	BOOL Average  (double *src, int height ,int width, double *dest);
	BOOL CovMatrix(double *src, int height ,int width, double *dest);
	void ContraryMatrix(double *pMatrix, double * _pMatrix, int dim);

private:

	BOOL InitialWV(double *A, int n, int m, double *w, double *v, double *rv1);
	BOOL BiDiag(double *A, int n, int m, double *w, double *rv1, double *anorm);
	BOOL DotProduct(double *src1, double *src2, int length, double *value);
	BOOL JacobiEigens(double *A, double *V, double *E, int n, double eps);

	double Pythag(double a, double b);

	BOOL MulTransMatrixR(double *srcMatr, int matrWidth,int matrHeight, double *destMatr);
	BOOL MulTransMatrixL(double *srcMatr,int matrWidth, int matrHeight, double *destMatr);

	BOOL bmuav(double *a, int m, int n, double *u, double *v, double eps, int ka);
	void ppp(double *a, double *e, double *s, double *v,int m, int n);
	void sss(double fg[2], double cs[2]);

};

#endif //!defined ( _MATRIX_CB_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -