OpenCV求矩陣的特徵值和特徵向量

2021-05-18 01:19:02 字數 1198 閱讀 5288

opencv求矩陣的特徵值和特徵向量

首先安轉和配置opencv windows版,在此不贅述!

首先看看opencv中的矩陣運算的相關知識:cvmat(多通道矩陣)

cvmat的結構定義:

typedef struct cvmat

data; /* data 指標 */

#ifdef __cplusplus

union

;union

;#else

int rows; /* 行數 */

int cols; /* 列數*/

#endif

} cvmat;

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...