]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/commitdiff
Refactor image resizing out of ::track to make it shorter
authorMichal Sojka <michal.sojka@cvut.cz>
Wed, 19 Sep 2018 08:39:13 +0000 (10:39 +0200)
committerMichal Sojka <michal.sojka@cvut.cz>
Thu, 20 Sep 2018 13:51:03 +0000 (15:51 +0200)
src/kcf.cpp
src/kcf.h

index 732d6cef482b85f07ab2207da62e7c8626b929d8..88e881615a63cb181c97ee62606275bbc82c7245 100644 (file)
@@ -282,17 +282,8 @@ double KCF_Tracker::getFilterResponse() const
     return this->max_response;
 }
 
-void KCF_Tracker::track(cv::Mat &img)
+void KCF_Tracker::resizeImgs(cv::Mat &input_rgb, cv::Mat &input_gray)
 {
-    if (m_debug) std::cout << "NEW FRAME" << '\n';
-    cv::Mat input_gray, input_rgb = img.clone();
-    if (img.channels() == 3) {
-        cv::cvtColor(img, input_gray, CV_BGR2GRAY);
-        input_gray.convertTo(input_gray, CV_32FC1);
-    } else
-        img.convertTo(input_gray, CV_32FC1);
-
-    // don't need too large image
     if (p_resize_image) {
         cv::resize(input_gray, input_gray, cv::Size(0, 0), p_downscale_factor, p_downscale_factor, cv::INTER_AREA);
         cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_downscale_factor, p_downscale_factor, cv::INTER_AREA);
@@ -306,6 +297,20 @@ void KCF_Tracker::track(cv::Mat &img)
             cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_LINEAR);
         }
     }
+}
+
+void KCF_Tracker::track(cv::Mat &img)
+{
+    if (m_debug) std::cout << "NEW FRAME" << '\n';
+    cv::Mat input_gray, input_rgb = img.clone();
+    if (img.channels() == 3) {
+        cv::cvtColor(img, input_gray, CV_BGR2GRAY);
+        input_gray.convertTo(input_gray, CV_32FC1);
+    } else
+        img.convertTo(input_gray, CV_32FC1);
+
+    // don't need too large image
+    resizeImgs(input_rgb, input_gray);
 
     max_response = -1.;
     ThreadCtx *max = nullptr;
index 66cb0fad10655ed22854e0325dd0cd801f1c80c2..dbb7fb0832688923fa093f5380a198497dc17d47 100644 (file)
--- a/src/kcf.h
+++ b/src/kcf.h
@@ -166,7 +166,7 @@ private:
     void get_features(MatDynMem &feat_3d, cv::Mat & input_rgb, cv::Mat & input_gray, int cx, int cy, int size_x, int size_y, double scale = 1.);
     cv::Point2f sub_pixel_peak(cv::Point & max_loc, cv::Mat & response);
     double sub_grid_scale(uint index);
-
+    void resizeImgs(cv::Mat &input_rgb, cv::Mat &input_gray);
 };
 
 #endif //KCF_HEADER_6565467831231