]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blobdiff - src/debug.cpp
Revert "debug: Round low values to zero when printing them"
[hercules2020/kcf.git] / src / debug.cpp
index 420034853c13fa45954c239543a38452db012f62..4f21a39de9df54e7f7b290346958d8f66548d65b 100644 (file)
@@ -1,12 +1,13 @@
 #include "debug.h"
+#include <string>
 
 std::ostream &operator<<(std::ostream &os, const DbgTracer::Printer<cv::Mat> &p)
 {
     IOSave s(os);
-    os << std::setprecision(3);
+    os << std::setprecision(DbgTracer::precision);
     os << p.obj.size << " " << p.obj.channels() << "ch ";// << static_cast<const void *>(p.obj.data);
     os << " = [ ";
-    constexpr size_t num = 10;
+    const size_t num = 10; //p.obj.total();
     for (size_t i = 0; i < std::min(num, p.obj.total()); ++i)
         os << p.obj.ptr<float>()[i] << ", ";
     os << (num < p.obj.total() ? "... ]" : "]");
@@ -16,12 +17,15 @@ std::ostream &operator<<(std::ostream &os, const DbgTracer::Printer<cv::Mat> &p)
 std::ostream &operator<<(std::ostream &os, const DbgTracer::Printer<ComplexMat> &p)
 {
     IOSave s(os);
-    os << std::setprecision(3);
+    os << std::setprecision(DbgTracer::precision);
     os << "<cplx> " << p.obj.size() << " " << p.obj.channels() << "ch "; // << p.obj.get_p_data();
-    os << " = [ ";
-    constexpr int num = 10;
-    for (int i = 0; i < std::min(num, p.obj.size().area()); ++i)
-        os << p.obj.get_p_data()[i] << ", ";
-    os << (num < p.obj.size().area() ? "... ]" : "]");
+    const int num = 10; //p.obj.rows * p.obj.cols * p.obj.n_channels / p.obj.n_scales;
+    for (uint s = 0; s < p.obj.n_scales; ++s) {
+        uint ofs = s * p.obj.rows * p.obj.cols * p.obj.n_channels / p.obj.n_scales;
+        os << " = [ ";
+        for (int i = 0; i < std::min(num, p.obj.size().area()); ++i)
+            os << p.obj.get_p_data()[ofs + i] << ", ";
+        os << (num < p.obj.size().area() ? "... ]" : "]");
+    }
     return os;
 }