From c0c70e393028718e78211e4652ca6d063b5325d5 Mon Sep 17 00:00:00 2001
From: Joan Sola <jsola@iri.upc.edu>
Date: Tue, 26 Apr 2022 14:20:12 +0200
Subject: [PATCH] Add histogram equalization method

---
 include/vision/processor/processor_visual_odometry.h | 7 ++-----
 src/processor/processor_visual_odometry.cpp          | 5 +++--
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/include/vision/processor/processor_visual_odometry.h b/include/vision/processor/processor_visual_odometry.h
index 433035dfa..099f3e145 100644
--- a/include/vision/processor/processor_visual_odometry.h
+++ b/include/vision/processor/processor_visual_odometry.h
@@ -86,14 +86,11 @@ struct ParamsProcessorVisualOdometry : public ParamsProcessorTracker
     struct EqualizationParams
     {
             unsigned int method_; // 0: none; 1: average; 2: histogram; 3: CLAHE
+            // note: cv::histogramEqualization() has no tuning params
             struct AverageParams
             {
                     int median_;
             } average_;
-            struct HistogramParams
-            {
-                    // TODO: to be implemented
-            } histogram_;
             struct ClaheParams
             {
                     double clip_limit_;
@@ -124,7 +121,7 @@ struct ParamsProcessorVisualOdometry : public ParamsProcessorTracker
                 equalization_params_.average_.median_ = _server.getParam<unsigned int>(prefix + _unique_name + "/equalization_params/average/median");
                 break;
             case 2:
-//                equalization_params_.average_.median_ = _server.getParam<unsigned int>(prefix + _unique_name + "/equalization_params/average/median");
+                // note: cv::histogramEqualization() has no tuning params
                 break;
             case 3:
                 equalization_params_.clahe_.clip_limit_ = _server.getParam<double>(prefix + _unique_name + "/equalization_params/clahe/clip_limit");
diff --git a/src/processor/processor_visual_odometry.cpp b/src/processor/processor_visual_odometry.cpp
index 4ef31d06b..947807475 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/imgproc.hpp>
+
 #include <chrono>
 #include <ctime>
 
@@ -107,8 +109,7 @@ void ProcessorVisualOdometry::preProcess()
         }
         case 2:
         {
-            // TODO: implement histogram equalization
-            WOLF_WARN("Histogram equalization not yet implemented. Ignoring.");
+            cv::equalizeHist( img_incoming, img_incoming );
             break;
         }
         case 3:
-- 
GitLab