1. 程式人生 > 其它 >使用Eigen驗證矩陣的逆

使用Eigen驗證矩陣的逆

K是3*3矩陣,乘以一個3維列向量u以後,得到的值乘以K的逆,得到原向量u

#include <iostream>
#include <opencv2/core/core.hpp>
#include <Eigen/Core>
#include <Eigen/Dense>

 using namespace std;
 using namespace cv;
 
 int main(int argc, char **argv) {
     Eigen::Matrix3f K;
     K(0,0)=1.0;
     K(0,1)=2.0;
     K(1,0)=3.0;
     K(1,1)=4.0;
     K(2,2)=1.0;
     K(0,2)=0.f;
     K(1,2)=0.f;
     K(2,0)=0.f;
     K(2,1)=0.f;
     cout<<"K= \n"<<K<<endl;
     
     Eigen::Vector3f u(1.0, 2.0,1.0);
     Eigen::Vector3f u0;
     u0= K *u;
     cout<<"u0=\n"<<u0<<endl;
     
     Eigen::Vector3f u1;
     u1=K.inverse() *u0;
     cout<<"u1=\n"<<u1<<endl;
     
     return 0;
 }