From 7466d91fb635afcb3e3f5f1be503ff3fd850dbc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Fri, 12 Aug 2022 12:15:11 +0200
Subject: [PATCH] Use cleaner conversion from eigen to cv

---
 src/processor/processor_visual_odometry.cpp | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/processor/processor_visual_odometry.cpp b/src/processor/processor_visual_odometry.cpp
index 20634a739..b7e494993 100644
--- a/src/processor/processor_visual_odometry.cpp
+++ b/src/processor/processor_visual_odometry.cpp
@@ -25,7 +25,7 @@
 #include "vision/processor/processor_visual_odometry.h"
 
 #include <opencv2/imgproc.hpp>
-
+#include <opencv2/core/eigen.hpp>
 #include <chrono>
 #include <ctime>
 
@@ -50,13 +50,10 @@ ProcessorVisualOdometry::ProcessorVisualOdometry(ParamsProcessorVisualOdometryPt
 void ProcessorVisualOdometry::configure(SensorBasePtr _sensor)
 {
 	//Initialize camera sensor pointer
-	sen_cam_ = std::static_pointer_cast<SensorCamera>(_sensor);
-    Eigen::Matrix3d K = sen_cam_->getIntrinsicMatrix();
-    
-    Kcv_ = (cv::Mat_<float>(3,3) << K(0,0), 0, K(0,2),
-               0, K(1,1), K(1,2),
-               0, 0, 1);
+	sen_cam_ = std::static_pointer_cast<SensorCamera>(_sensor);    
 
+    // Intrinsic matrix for OpenCV computations Kcv_
+    cv::eigen2cv(sen_cam_->getIntrinsicMatrix(), Kcv_);
     
     // Tessalation of the image
     cell_grid_ = ActiveSearchGrid(sen_cam_->getImgWidth(), sen_cam_->getImgHeight(),
-- 
GitLab