diff --git a/src/processor/processor_visual_odometry.cpp b/src/processor/processor_visual_odometry.cpp
index 20634a739f513526dc38490c0532503796129bd4..b7e494993b8a47ec0dcc591b47f592ec9c1f5bab 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(),