opencv求矩陣的特徵值和特徵向量
首先安轉和配置opencv windows版,在此不贅述!
首先看看opencv中的矩陣運算的相關知識:cvmat(多通道矩陣)
cvmat的結構定義:
typedef struct cvmatcvmat分配矩陣空間:data; /* data 指標 */
#ifdef __cplusplus
union
;union
;#else
int rows; /* 行數 */
int cols; /* 列數*/
#endif
} cvmat;
cvmat* cvcreatemat(int rows, int cols, int type);
例如:cvmat* m = cvcreatemat(4, 4, cv_32fc1);
其中cv_32fc1表示32位浮點單通道矩陣
cvmat釋放矩陣空間:
cvmat* m = cvcreatemat(4, 4, cv_32fc1);
cvreleasemat(&m);
複製矩陣:
cvmat* m1 = cvcreatemat(4, 4, cv_32fc1);
cvmat* m2;
m2 = cvclonemat(m1);
初始化矩陣:
double a = , , , };
cvmat ma = cvmat(4, 3, cv_32fc1, a);//method 1
cvmat ma; cvinitmatheader(&ma, 3, 4, cv_32fc1, a);//method2
特徵值分析(對稱矩陣)
cvmat* a = cvcreatemat(3, 3, cv_32fc1);
cvmat* b = cvcreatemat(3, 3, cv_32fc1);
cvmat* c = cvcreatemat(3, 1, cv_32fc1);
cveigenvv(a, b, c);//c是a的特徵值(降序排列),而b則是a的特徵向量(每行)
例如下面的例子(編譯通過)
//獲得特徵向量
//add by maozhaoyang
vector> cimgclusterdemoview::geteigenmat(const vector> &k)
求矩陣的特徵值和特徵向量方法
求矩陣的特徵值和特徵向量方法 第一步我們首先需要知道計算矩陣的特徵值和特徵向量要用eig函式,可以在命令列視窗中輸入help eig,檢視一下eig函式的用法 第二步在命令列視窗中輸入a 1 2 3 2 4 5 7 8 9 按回車鍵之後,輸入 x,y eig a 第三步按回車鍵之後,得到了x,y的值...
特徵值 特殊矩陣的特徵值和特徵向量
特徵值與特徵向量 2 前 言 1 今天我們來討論一類特殊矩陣的特徵值和特徵向量。秩1 矩陣的性質希望同學們還沒有完全遺忘,正好通過今天的內容帶著大家複習下。2 i 雖然今天的矩陣不是抽象矩陣,但是想通過定義法求特徵值較為麻煩。這裡我們需要做乙個轉換 ax 0有非零解說明0是a的特徵值。ii 這裡我們...
Matlab GPU矩陣求特徵值計算
gpu求特徵值的使用方法 clear all clcm rand 2000,2000 生成乙個隨機矩陣 tic a1,b1 eig m 求該隨機矩陣的特徵值和特徵向量 t1 toc ticm single m 將資料轉換為單精度型 m gpuarray m 將資料從cpu中搬到gpu a2,b2 e...