|
|
@ -84,7 +84,6 @@ template<typename _Tp> inline |
|
|
|
_InputArray::_InputArray(const std::vector<_Tp>& vec) |
|
|
|
_InputArray::_InputArray(const std::vector<_Tp>& vec) |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_READ, &vec); } |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_READ, &vec); } |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
_InputArray::_InputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
_InputArray::_InputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); } |
|
|
@ -92,7 +91,6 @@ _InputArray::_InputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
_InputArray::_InputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
_InputArray::_InputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_READ, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_READ, arr.data(), Size(1, _Nm)); } |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline |
|
|
|
inline |
|
|
|
_InputArray::_InputArray(const std::vector<bool>& vec) |
|
|
|
_InputArray::_InputArray(const std::vector<bool>& vec) |
|
|
@ -172,7 +170,6 @@ template<typename _Tp> inline |
|
|
|
_OutputArray::_OutputArray(std::vector<_Tp>& vec) |
|
|
|
_OutputArray::_OutputArray(std::vector<_Tp>& vec) |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
_OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
_OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
@ -180,7 +177,6 @@ _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
_OutputArray::_OutputArray(std::array<Mat, _Nm>& arr) |
|
|
|
_OutputArray::_OutputArray(std::array<Mat, _Nm>& arr) |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline |
|
|
|
inline |
|
|
|
_OutputArray::_OutputArray(std::vector<bool>&) |
|
|
|
_OutputArray::_OutputArray(std::vector<bool>&) |
|
|
@ -214,7 +210,6 @@ template<typename _Tp> inline |
|
|
|
_OutputArray::_OutputArray(const std::vector<_Tp>& vec) |
|
|
|
_OutputArray::_OutputArray(const std::vector<_Tp>& vec) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
_OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
_OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
@ -222,7 +217,6 @@ _OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
_OutputArray::_OutputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
_OutputArray::_OutputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
_OutputArray::_OutputArray(const std::vector<std::vector<_Tp> >& vec) |
|
|
|
_OutputArray::_OutputArray(const std::vector<std::vector<_Tp> >& vec) |
|
|
@ -291,7 +285,6 @@ template<typename _Tp> inline |
|
|
|
_InputOutputArray::_InputOutputArray(std::vector<_Tp>& vec) |
|
|
|
_InputOutputArray::_InputOutputArray(std::vector<_Tp>& vec) |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } |
|
|
|
{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
_InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
_InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
@ -299,7 +292,6 @@ _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr) |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
_InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr) |
|
|
|
_InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr) |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline _InputOutputArray::_InputOutputArray(std::vector<bool>&) |
|
|
|
inline _InputOutputArray::_InputOutputArray(std::vector<bool>&) |
|
|
|
{ CV_Error(Error::StsUnsupportedFormat, "std::vector<bool> cannot be an input/output array\n"); } |
|
|
|
{ CV_Error(Error::StsUnsupportedFormat, "std::vector<bool> cannot be an input/output array\n"); } |
|
|
@ -328,7 +320,6 @@ template<typename _Tp> inline |
|
|
|
_InputOutputArray::_InputOutputArray(const std::vector<_Tp>& vec) |
|
|
|
_InputOutputArray::_InputOutputArray(const std::vector<_Tp>& vec) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
_InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
_InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
@ -336,7 +327,6 @@ _InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr) |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
template<std::size_t _Nm> inline |
|
|
|
_InputOutputArray::_InputOutputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
_InputOutputArray::_InputOutputArray(const std::array<Mat, _Nm>& arr) |
|
|
|
{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
_InputOutputArray::_InputOutputArray(const std::vector<std::vector<_Tp> >& vec) |
|
|
|
_InputOutputArray::_InputOutputArray(const std::vector<std::vector<_Tp> >& vec) |
|
|
@ -594,7 +584,6 @@ Mat::Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp |
|
|
|
Mat((int)sizes.size(), (int*)sizes.begin(), traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this); |
|
|
|
Mat((int)sizes.size(), (int*)sizes.begin(), traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData) |
|
|
|
Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData) |
|
|
|
: flags(MAGIC_VAL | traits::Type<_Tp>::value | CV_MAT_CONT_FLAG), dims(2), rows((int)arr.size()), |
|
|
|
: flags(MAGIC_VAL | traits::Type<_Tp>::value | CV_MAT_CONT_FLAG), dims(2), rows((int)arr.size()), |
|
|
@ -611,7 +600,6 @@ Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData) |
|
|
|
else |
|
|
|
else |
|
|
|
Mat((int)arr.size(), 1, traits::Type<_Tp>::value, (uchar*)arr.data()).copyTo(*this); |
|
|
|
Mat((int)arr.size(), 1, traits::Type<_Tp>::value, (uchar*)arr.data()).copyTo(*this); |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp, int n> inline |
|
|
|
template<typename _Tp, int n> inline |
|
|
|
Mat::Mat(const Vec<_Tp, n>& vec, bool copyData) |
|
|
|
Mat::Mat(const Vec<_Tp, n>& vec, bool copyData) |
|
|
@ -1261,7 +1249,6 @@ Mat::operator std::vector<_Tp>() const |
|
|
|
return v; |
|
|
|
return v; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
template<typename _Tp, std::size_t _Nm> inline |
|
|
|
Mat::operator std::array<_Tp, _Nm>() const |
|
|
|
Mat::operator std::array<_Tp, _Nm>() const |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1269,7 +1256,6 @@ Mat::operator std::array<_Tp, _Nm>() const |
|
|
|
copyTo(v); |
|
|
|
copyTo(v); |
|
|
|
return v; |
|
|
|
return v; |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp, int n> inline |
|
|
|
template<typename _Tp, int n> inline |
|
|
|
Mat::operator Vec<_Tp, n>() const |
|
|
|
Mat::operator Vec<_Tp, n>() const |
|
|
@ -1337,8 +1323,6 @@ void Mat::push_back(const std::vector<_Tp>& v) |
|
|
|
push_back(Mat(v)); |
|
|
|
push_back(Mat(v)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_MOVE_SEMANTICS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline |
|
|
|
inline |
|
|
|
Mat::Mat(Mat&& m) |
|
|
|
Mat::Mat(Mat&& m) |
|
|
|
: flags(m.flags), dims(m.dims), rows(m.rows), cols(m.cols), data(m.data), |
|
|
|
: flags(m.flags), dims(m.dims), rows(m.rows), cols(m.cols), data(m.data), |
|
|
@ -1400,8 +1384,6 @@ Mat& Mat::operator = (Mat&& m) |
|
|
|
return *this; |
|
|
|
return *this; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////// MatSize ////////////////////////////
|
|
|
|
///////////////////////////// MatSize ////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
@ -1642,12 +1624,10 @@ Mat_<_Tp>::Mat_(const std::initializer_list<int> sizes, std::initializer_list<_T |
|
|
|
: Mat(sizes, list) |
|
|
|
: Mat(sizes, list) |
|
|
|
{} |
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp> template<std::size_t _Nm> inline |
|
|
|
template<typename _Tp> template<std::size_t _Nm> inline |
|
|
|
Mat_<_Tp>::Mat_(const std::array<_Tp, _Nm>& arr, bool copyData) |
|
|
|
Mat_<_Tp>::Mat_(const std::array<_Tp, _Nm>& arr, bool copyData) |
|
|
|
: Mat(arr, copyData) |
|
|
|
: Mat(arr, copyData) |
|
|
|
{} |
|
|
|
{} |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
Mat_<_Tp>& Mat_<_Tp>::operator = (const Mat& m) |
|
|
|
Mat_<_Tp>& Mat_<_Tp>::operator = (const Mat& m) |
|
|
@ -1935,7 +1915,6 @@ Mat_<_Tp>::operator std::vector<_Tp>() const |
|
|
|
return v; |
|
|
|
return v; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_STD_ARRAY |
|
|
|
|
|
|
|
template<typename _Tp> template<std::size_t _Nm> inline |
|
|
|
template<typename _Tp> template<std::size_t _Nm> inline |
|
|
|
Mat_<_Tp>::operator std::array<_Tp, _Nm>() const |
|
|
|
Mat_<_Tp>::operator std::array<_Tp, _Nm>() const |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1943,7 +1922,6 @@ Mat_<_Tp>::operator std::array<_Tp, _Nm>() const |
|
|
|
copyTo(a); |
|
|
|
copyTo(a); |
|
|
|
return a; |
|
|
|
return a; |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> template<int n> inline |
|
|
|
template<typename _Tp> template<int n> inline |
|
|
|
Mat_<_Tp>::operator Vec<typename DataType<_Tp>::channel_type, n>() const |
|
|
|
Mat_<_Tp>::operator Vec<typename DataType<_Tp>::channel_type, n>() const |
|
|
@ -2007,8 +1985,6 @@ void Mat_<_Tp>::forEach(const Functor& operation) const { |
|
|
|
Mat::forEach<_Tp, Functor>(operation); |
|
|
|
Mat::forEach<_Tp, Functor>(operation); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_MOVE_SEMANTICS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp> inline |
|
|
|
template<typename _Tp> inline |
|
|
|
Mat_<_Tp>::Mat_(Mat_&& m) |
|
|
|
Mat_<_Tp>::Mat_(Mat_&& m) |
|
|
|
: Mat(m) |
|
|
|
: Mat(m) |
|
|
@ -2056,7 +2032,6 @@ Mat_<_Tp>::Mat_(MatExpr&& e) |
|
|
|
*this = Mat(e); |
|
|
|
*this = Mat(e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////// SparseMat /////////////////////////////
|
|
|
|
///////////////////////////// SparseMat /////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
@ -3827,8 +3802,6 @@ size_t UMat::total() const |
|
|
|
return p; |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CV_CXX_MOVE_SEMANTICS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline |
|
|
|
inline |
|
|
|
UMat::UMat(UMat&& m) |
|
|
|
UMat::UMat(UMat&& m) |
|
|
|
: flags(m.flags), dims(m.dims), rows(m.rows), cols(m.cols), allocator(m.allocator), |
|
|
|
: flags(m.flags), dims(m.dims), rows(m.rows), cols(m.cols), allocator(m.allocator), |
|
|
@ -3889,8 +3862,6 @@ UMat& UMat::operator = (UMat&& m) |
|
|
|
return *this; |
|
|
|
return *this; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inline bool UMatData::hostCopyObsolete() const { return (flags & HOST_COPY_OBSOLETE) != 0; } |
|
|
|
inline bool UMatData::hostCopyObsolete() const { return (flags & HOST_COPY_OBSOLETE) != 0; } |
|
|
|
inline bool UMatData::deviceCopyObsolete() const { return (flags & DEVICE_COPY_OBSOLETE) != 0; } |
|
|
|
inline bool UMatData::deviceCopyObsolete() const { return (flags & DEVICE_COPY_OBSOLETE) != 0; } |
|
|
|