From cb9e7362f6eaf2302514c4680e64128a5454f0ee Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Fri, 25 Jan 2013 10:53:59 -0500 Subject: [PATCH] improved PrintTransform --- sdk/core/opencvutils.cpp | 45 ++++++++++++++++++++++++++------------------- sdk/core/opencvutils.h | 1 + sdk/plugins/misc.cpp | 8 ++++++-- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/sdk/core/opencvutils.cpp b/sdk/core/opencvutils.cpp index cdb0d26..340ca30 100644 --- a/sdk/core/opencvutils.cpp +++ b/sdk/core/opencvutils.cpp @@ -169,6 +169,30 @@ float OpenCVUtils::elemToFloat(const Mat &m, int r, int c) return 0; } +QString OpenCVUtils::matrixToString(const Mat &m) +{ + QString result; + vector mv; + split(m, mv); + if (m.rows > 1) result += "{ "; + for (int r=0; r 1) && (r > 0)) result += " "; + if (m.cols > 1) result += "["; + for (int c=0; c 1) result += "("; + for (unsigned int i=0; i 1) result += ")"; + if (c < m.cols - 1) result += ", "; + } + if (m.cols > 1) result += "]"; + if (r < m.rows-1) result += "\n"; + } + if (m.rows > 1) result += " }"; + return result; +} + QStringList OpenCVUtils::matrixToStringList(const Mat &m) { QStringList results; @@ -285,25 +309,8 @@ QDataStream &operator>>(QDataStream &stream, Mat &m) QDebug operator<<(QDebug dbg, const Mat &m) { - vector mv; - split(m, mv); - if (m.rows > 1) dbg.nospace() << "{ "; - for (int r=0; r 1) && (r > 0)) dbg.nospace() << " "; - if (m.cols > 1) dbg.nospace() << "["; - for (int c=0; c 1) dbg.nospace() << "("; - for (unsigned int i=0; i 1) dbg.nospace() << ")"; - if (c < m.cols - 1) dbg.nospace() << ", "; - } - if (m.cols > 1) dbg.nospace() << "]"; - if (r < m.rows-1) dbg.nospace() << "\n"; - } - if (m.rows > 1) dbg.nospace() << " }"; - return dbg; + dbg.nospace() << OpenCVUtils::matrixToString(m); + return dbg.space(); } QDebug operator<<(QDebug dbg, const Point &p) diff --git a/sdk/core/opencvutils.h b/sdk/core/opencvutils.h index af7a97e..06e6a53 100644 --- a/sdk/core/opencvutils.h +++ b/sdk/core/opencvutils.h @@ -41,6 +41,7 @@ namespace OpenCVUtils // From image QString elemToString(const cv::Mat &m, int r, int c); float elemToFloat(const cv::Mat &m, int r, int c); + QString matrixToString(const cv::Mat &m); QStringList matrixToStringList(const cv::Mat &m); QList matrixToVector(const cv::Mat &m); diff --git a/sdk/plugins/misc.cpp b/sdk/plugins/misc.cpp index 79d7a5d..6911f29 100644 --- a/sdk/plugins/misc.cpp +++ b/sdk/plugins/misc.cpp @@ -99,13 +99,17 @@ class PrintTransform : public UntrainableMetaTransform { Q_OBJECT Q_PROPERTY(bool error READ get_error WRITE set_error RESET reset_error) + Q_PROPERTY(bool data READ get_data WRITE set_data RESET reset_data) BR_PROPERTY(bool, error, false) + BR_PROPERTY(bool, data, false) void project(const Template &src, Template &dst) const { dst = src; - if (error) qDebug("%s\n", qPrintable(src.file.flat())); - else printf("%s\n", qPrintable(src.file.flat())); + const QString nameString = src.file.flat(); + const QString dataString = data ? OpenCVUtils::matrixToString(src)+"\n" : QString(); + if (error) qDebug("%s\n%s", qPrintable(nameString), qPrintable(dataString)); + else printf("%s\n%s", qPrintable(nameString), qPrintable(dataString)); } }; -- libgit2 0.21.4