diff --git a/openbr/core/core.cpp b/openbr/core/core.cpp index 7d77060..9233aad 100644 --- a/openbr/core/core.cpp +++ b/openbr/core/core.cpp @@ -520,7 +520,7 @@ private: QFileInfo dFile(file); if (dFile.exists() && !dFile.isDir()) { - qDebug("Loading %s", qPrintable(dFile.fileName())); + qDebug("Loading %s", qPrintable(dFile.canonicalFilePath())); load(file); return true; } diff --git a/openbr/core/eigenutils.cpp b/openbr/core/eigenutils.cpp index e0601d1..c701d44 100644 --- a/openbr/core/eigenutils.cpp +++ b/openbr/core/eigenutils.cpp @@ -137,3 +137,11 @@ Eigen::MatrixXf matrixToVector(const Eigen::MatrixXf matrix) { return vector; } +Eigen::MatrixXf toEigen(const Mat m) { + if (m.type() != CV_32F) + qFatal("Mat to Eigen Converstation only supports CV_32F"); + + Eigen::MatrixXf data(m.rows, m.cols); + return Eigen::Map(m.ptr(), m.rows, m.cols); +} + diff --git a/openbr/core/eigenutils.h b/openbr/core/eigenutils.h index 0bbc013..73a72e0 100644 --- a/openbr/core/eigenutils.h +++ b/openbr/core/eigenutils.h @@ -21,6 +21,8 @@ #include #include +#include + void writeEigen(Eigen::MatrixXf X, QString filename); void writeEigen(Eigen::MatrixXd X, QString filename); void writeEigen(Eigen::VectorXd X, QString filename); @@ -40,6 +42,9 @@ Eigen::MatrixXf removeRowCol(const Eigen::MatrixXf X, int row, int col); Eigen::MatrixXf pointsToMatrix(const QList points, bool isAffine=false); QList matrixToPoints(const Eigen::MatrixXf P); +//Convert cv::Mat to Eigen +Eigen::MatrixXf toEigen(const cv::Mat m); + template inline QDataStream &operator<<(QDataStream &stream, const Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &mat) { diff --git a/openbr/plugins/meta.cpp b/openbr/plugins/meta.cpp index 56bd045..5b4e8be 100644 --- a/openbr/plugins/meta.cpp +++ b/openbr/plugins/meta.cpp @@ -605,7 +605,7 @@ private: const QString file = getFileName(); if (file.isEmpty()) return false; - if (Globals->verbose) qDebug("Loading %s", qPrintable(baseName)); + if (Globals->verbose) qDebug("Loading %s", qPrintable(file)); QByteArray data; QtUtils::readFile(file, data, true); QDataStream stream(&data, QFile::ReadOnly);