From 91511c1521470d10b6a824b2c053bf47a02d948c Mon Sep 17 00:00:00 2001 From: JinoBetti Date: Thu, 27 Mar 2014 16:28:40 +0100 Subject: [PATCH] Update out.cpp Fixed a bug with the cv::format(cv::Mat, ...) method for matrices with only one row see http://answers.opencv.org/question/21201/cvformat-does-not-format-the-way-it-should/?answer=23945#post-id-23945 for details --- modules/core/src/out.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/core/src/out.cpp b/modules/core/src/out.cpp index 65190c50e..a2894b700 100644 --- a/modules/core/src/out.cpp +++ b/modules/core/src/out.cpp @@ -148,7 +148,7 @@ public: void write(std::ostream& out, const Mat& m, const int*, int) const { out << "["; - writeMat(out, m, ';', ' ', m.cols == 1); + writeMat(out, m, ';', ' ', m.rows == 1); out << "]"; } @@ -165,7 +165,7 @@ public: void write(std::ostream& out, const Mat& m, const int*, int) const { out << "["; - writeMat(out, m, m.cols > 1 ? '[' : ' ', '[', m.cols*m.channels() == 1); + writeMat(out, m, m.cols > 1 ? '[' : ' ', '[', m.rows*m.channels() == 1); out << "]"; } @@ -187,7 +187,7 @@ public: "uint8", "int8", "uint16", "int16", "int32", "float32", "float64", "uint64" }; out << "array(["; - writeMat(out, m, m.cols > 1 ? '[' : ' ', '[', m.cols*m.channels() == 1); + writeMat(out, m, m.cols > 1 ? '[' : ' ', '[', m.rows*m.channels() == 1); out << "], type='" << numpyTypes[m.depth()] << "')"; } @@ -204,7 +204,7 @@ public: virtual ~CSVFormatter() {} void write(std::ostream& out, const Mat& m, const int*, int) const { - writeMat(out, m, ' ', ' ', m.cols*m.channels() == 1); + writeMat(out, m, ' ', ' ', m.rows*m.channels() == 1); if(m.rows > 1) out << "\n"; } @@ -223,7 +223,7 @@ public: void write(std::ostream& out, const Mat& m, const int*, int) const { out << "{"; - writeMat(out, m, ',', ' ', m.cols==1); + writeMat(out, m, ',', ' ', m.rows==1); out << "}"; }