opencv 求解Mat矩陣的逆矩陣

2021-10-06 09:13:27 字數 683 閱讀 4884

opencv中cv::invert()可直接用來求解矩陣的逆矩陣

函式原型如下:

double cv::invert(inputarray  src, outputarray dst,

int flags = decomp_lu )

parameters:

src: 待求解的矩陣

dst: 輸出的逆矩陣

flags: 求解方法

詳細介紹:

1、src: 輸入,浮點型(32位或者64位)的m×n的矩陣,當引數3的使用方法為decomp_cholesky decomp_lu decomp_eig時函式功能為求逆,此時需保證m=n(參見引數flag)。

2、dst: 輸出,與輸入矩陣型別一致的n×m的矩陣。

3、flag:求逆方法,提供4種可選擇的方法:

decomp_cholesky(基於cholesky分解的方法),

decomp_lu(基於lu分解的方法),

decomp_eig(基於特徵值分解的方法),

decomp_svd(基於奇異值分解的方法)。

其中,前三種方法要求輸入的矩陣必須為方陣,此時計算結果為矩陣的逆;最後一種方法為對非方陣的偽逆計算,對矩陣的形狀沒有要求。函式介面的預設引數為decomp_lu方法(應該是效率較高的一種方法)。

opencv 儲存mat矩陣的資料

影象處理的過程中,有時候會需要儲存資料。之前,用的比較多的是imwrite函式,但其只能儲存整數資料,且需作為影象格式。當需要儲存浮點資料或xml yml檔案時,我們可以使用filestorage類。1 儲存mat矩陣 filestorage fs xuchao.xml filestorage wr...

C 實現求解逆矩陣

利用c語言求解線性代數中求解逆矩陣的一類問題。最近在學線代,其中有乙個挺煩人的就是求解逆矩陣,雖然求逆矩陣不難,但我自己在解題的時候經常求錯,所以就想能不能用演算法來求解這一類的題目。求解逆矩陣一般可以用初等行變換或伴隨矩陣方法求解。這裡採用的是伴隨矩陣方法。思路很簡單,先求矩陣a對應的行列式 a ...

OpenCV求逆(偽逆)矩陣函式

double invert inputarray src,outputarraydst,int flags decomp lu 功能 用以求取乙個矩陣的逆或者偽逆。src 輸入,浮點型 32位或者64位 的m n的矩陣,當引數3的使用方法為decomp cholesky decomp lu deco...