diff --git a/src/processor/processor_visual_odometry.cpp b/src/processor/processor_visual_odometry.cpp
index 9664900f7a6e8c5fd26719990bffd646f31c998b..653b40dd9ce52cbade801eb39313aa4b09e7f734 100644
--- a/src/processor/processor_visual_odometry.cpp
+++ b/src/processor/processor_visual_odometry.cpp
@@ -24,6 +24,8 @@
 //standard
 #include "vision/processor/processor_visual_odometry.h"
 
+#include <opencv2/core/eigen.hpp>
+
 #include <chrono>
 #include <ctime>
 
@@ -52,12 +54,9 @@ 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);
-
+    // CV type for intrinsic matrix
+    cv::eigen2cv(sen_cam_->getIntrinsicMatrix(), Kcv_);
     
     // Tessalation of the image
     cell_grid_ = ActiveSearchGrid(sen_cam_->getImgWidth(), sen_cam_->getImgHeight(),