From 4b94d9195565ecd59e4b409aa8f9a5221f32d8be Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Sat, 6 Aug 2011 18:52:05 +0000 Subject: [PATCH] added _InputArray::_InputArray(const Scalar& s) constructor (ticket #1214) --- modules/core/include/opencv2/core/core.hpp | 1 + modules/core/include/opencv2/core/mat.hpp | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/core/include/opencv2/core/core.hpp b/modules/core/include/opencv2/core/core.hpp index 6c88a78683..3a02d45d89 100644 --- a/modules/core/include/opencv2/core/core.hpp +++ b/modules/core/include/opencv2/core/core.hpp @@ -1276,6 +1276,7 @@ public: template _InputArray(const vector >& vec); _InputArray(const vector& vec); template _InputArray(const Matx<_Tp, m, n>& matx); + _InputArray(const Scalar& s); _InputArray(const double& val); virtual Mat getMat(int i=-1) const; virtual void getMatVector(vector& mv) const; diff --git a/modules/core/include/opencv2/core/mat.hpp b/modules/core/include/opencv2/core/mat.hpp index 6638d6c78b..acd290ec47 100644 --- a/modules/core/include/opencv2/core/mat.hpp +++ b/modules/core/include/opencv2/core/mat.hpp @@ -1103,18 +1103,21 @@ process( const Mat_& m1, const Mat_& m2, Mat_& m3, Op op ) /////////////////////////////// Input/Output Arrays ///////////////////////////////// -template _InputArray::_InputArray(const vector<_Tp>& vec) +template inline _InputArray::_InputArray(const vector<_Tp>& vec) : flags(STD_VECTOR + DataType<_Tp>::type), obj((void*)&vec) {} -template _InputArray::_InputArray(const vector >& vec) +template inline _InputArray::_InputArray(const vector >& vec) : flags(STD_VECTOR_VECTOR + DataType<_Tp>::type), obj((void*)&vec) {} -template _InputArray::_InputArray(const Matx<_Tp, m, n>& mtx) +template inline _InputArray::_InputArray(const Matx<_Tp, m, n>& mtx) : flags(MATX + DataType<_Tp>::type), obj((void*)&mtx), sz(n, m) {} -template _OutputArray::_OutputArray(vector<_Tp>& vec) : _InputArray(vec) {} -template _OutputArray::_OutputArray(vector >& vec) : _InputArray(vec) {} -template _OutputArray::_OutputArray(Matx<_Tp, m, n>& mtx) : _InputArray(mtx) {} +inline _InputArray::_InputArray(const Scalar& s) + : flags(MATX + CV_64F), obj((void*)&s), sz(1, 4) {} + +template inline _OutputArray::_OutputArray(vector<_Tp>& vec) : _InputArray(vec) {} +template inline _OutputArray::_OutputArray(vector >& vec) : _InputArray(vec) {} +template inline _OutputArray::_OutputArray(Matx<_Tp, m, n>& mtx) : _InputArray(mtx) {} //////////////////////////////////// Matrix Expressions ///////////////////////////////////////// -- GitLab