|
|
|
@ -78,11 +78,11 @@ using std::vector; |
|
|
|
|
using std::string; |
|
|
|
|
using std::ptrdiff_t; |
|
|
|
|
|
|
|
|
|
template<typename _Tp> class CV_EXPORTS Size_; |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Point_; |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Rect_; |
|
|
|
|
template<typename _Tp, int cn> class CV_EXPORTS Vec; |
|
|
|
|
template<typename _Tp, int m, int n> class CV_EXPORTS Matx; |
|
|
|
|
template<typename _Tp> class Size_; |
|
|
|
|
template<typename _Tp> class Point_; |
|
|
|
|
template<typename _Tp> class Rect_; |
|
|
|
|
template<typename _Tp, int cn> class Vec; |
|
|
|
|
template<typename _Tp, int m, int n> class Matx; |
|
|
|
|
|
|
|
|
|
typedef std::string String; |
|
|
|
|
|
|
|
|
@ -112,10 +112,10 @@ class CV_EXPORTS MatOp_Base; |
|
|
|
|
class CV_EXPORTS MatArg; |
|
|
|
|
class CV_EXPORTS MatConstIterator; |
|
|
|
|
|
|
|
|
|
template<typename _Tp> class CV_EXPORTS Mat_; |
|
|
|
|
template<typename _Tp> class CV_EXPORTS MatIterator_; |
|
|
|
|
template<typename _Tp> class CV_EXPORTS MatConstIterator_; |
|
|
|
|
template<typename _Tp> class CV_EXPORTS MatCommaInitializer_; |
|
|
|
|
template<typename _Tp> class Mat_; |
|
|
|
|
template<typename _Tp> class MatIterator_; |
|
|
|
|
template<typename _Tp> class MatConstIterator_; |
|
|
|
|
template<typename _Tp> class MatCommaInitializer_; |
|
|
|
|
|
|
|
|
|
#if !defined(ANDROID) || (defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_WCHAR_T) |
|
|
|
|
typedef std::basic_string<wchar_t> WString; |
|
|
|
@ -363,7 +363,7 @@ CV_EXPORTS_W bool useOptimized(); |
|
|
|
|
/*!
|
|
|
|
|
The STL-compilant memory Allocator based on cv::fastMalloc() and cv::fastFree() |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Allocator |
|
|
|
|
template<typename _Tp> class Allocator |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -405,7 +405,7 @@ public: |
|
|
|
|
The class is specialized for each fundamental numerical data type supported by OpenCV. |
|
|
|
|
It provides DataDepth<T>::value constant. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS DataDepth {}; |
|
|
|
|
template<typename _Tp> class DataDepth {}; |
|
|
|
|
|
|
|
|
|
template<> class DataDepth<bool> { public: enum { value = CV_8U, fmt=(int)'u' }; }; |
|
|
|
|
template<> class DataDepth<uchar> { public: enum { value = CV_8U, fmt=(int)'u' }; }; |
|
|
|
@ -446,7 +446,7 @@ struct CV_EXPORTS Matx_MulOp {}; |
|
|
|
|
struct CV_EXPORTS Matx_MatMulOp {}; |
|
|
|
|
struct CV_EXPORTS Matx_TOp {}; |
|
|
|
|
|
|
|
|
|
template<typename _Tp, int m, int n> class CV_EXPORTS Matx |
|
|
|
|
template<typename _Tp, int m, int n> class Matx |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -595,7 +595,7 @@ typedef Matx<double, 6, 6> Matx66d; |
|
|
|
|
In addition to the universal notation like Vec<float, 3>, you can use shorter aliases |
|
|
|
|
for the most popular specialized variants of Vec, e.g. Vec3f ~ Vec<float, 3>. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp, int cn> class CV_EXPORTS Vec : public Matx<_Tp, cn, 1> |
|
|
|
|
template<typename _Tp, int cn> class Vec : public Matx<_Tp, cn, 1> |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -691,7 +691,7 @@ typedef Vec<double, 6> Vec6d; |
|
|
|
|
more convenient access to the real and imaginary parts using through the simple field access, as opposite |
|
|
|
|
to std::complex::real() and std::complex::imag(). |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Complex |
|
|
|
|
template<typename _Tp> class Complex |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
|
|
|
|
@ -727,7 +727,7 @@ typedef Complex<double> Complexd; |
|
|
|
|
as a template parameter. There are a few shorter aliases available for user convenience. |
|
|
|
|
See cv::Point, cv::Point2i, cv::Point2f and cv::Point2d. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Point_ |
|
|
|
|
template<typename _Tp> class Point_ |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -770,7 +770,7 @@ public: |
|
|
|
|
|
|
|
|
|
\see cv::Point3i, cv::Point3f and cv::Point3d |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Point3_ |
|
|
|
|
template<typename _Tp> class Point3_ |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -809,7 +809,7 @@ public: |
|
|
|
|
The class represents the size of a 2D rectangle, image size, matrix size etc. |
|
|
|
|
Normally, cv::Size ~ cv::Size_<int> is used. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Size_ |
|
|
|
|
template<typename _Tp> class Size_ |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -844,7 +844,7 @@ public: |
|
|
|
|
The class represents a 2D rectangle with coordinates of the specified data type. |
|
|
|
|
Normally, cv::Rect ~ cv::Rect_<int> is used. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Rect_ |
|
|
|
|
template<typename _Tp> class Rect_ |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -933,7 +933,7 @@ public: |
|
|
|
|
This is partially specialized cv::Vec class with the number of elements = 4, i.e. a short vector of four elements. |
|
|
|
|
Normally, cv::Scalar ~ cv::Scalar_<double> is used. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Scalar_ : public Vec<_Tp, 4> |
|
|
|
|
template<typename _Tp> class Scalar_ : public Vec<_Tp, 4> |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
//! various constructors
|
|
|
|
@ -1260,7 +1260,7 @@ public: |
|
|
|
|
\note{Another good property of the class is that the operations on the reference counter are atomic, |
|
|
|
|
i.e. it is safe to use the class in multi-threaded applications} |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Ptr |
|
|
|
|
template<typename _Tp> class Ptr |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
//! empty constructor
|
|
|
|
@ -2748,7 +2748,7 @@ CV_EXPORTS_W Size getTextSize(const string& text, int fontFace, |
|
|
|
|
img(i,j)[2] ^= (uchar)(i ^ j); // img(y,x)[c] accesses c-th channel of the pixel (x,y)
|
|
|
|
|
\endcode |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Mat_ : public Mat |
|
|
|
|
template<typename _Tp> class Mat_ : public Mat |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -2980,7 +2980,7 @@ public: |
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> |
|
|
|
|
class CV_EXPORTS MatConstIterator_ : public MatConstIterator |
|
|
|
|
class MatConstIterator_ : public MatConstIterator |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -3031,7 +3031,7 @@ public: |
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> |
|
|
|
|
class CV_EXPORTS MatIterator_ : public MatConstIterator_<_Tp> |
|
|
|
|
class MatIterator_ : public MatConstIterator_<_Tp> |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp* pointer; |
|
|
|
@ -3072,7 +3072,7 @@ public: |
|
|
|
|
MatIterator_ operator ++(int); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
template<typename _Tp> class CV_EXPORTS MatOp_Iter_; |
|
|
|
|
template<typename _Tp> class MatOp_Iter_; |
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
Comma-separated Matrix Initializer |
|
|
|
@ -3087,7 +3087,7 @@ template<typename _Tp> class CV_EXPORTS MatOp_Iter_; |
|
|
|
|
Mat R = (Mat_<double>(2,2) << a, -b, b, a); |
|
|
|
|
\endcode |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS MatCommaInitializer_ |
|
|
|
|
template<typename _Tp> class MatCommaInitializer_ |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
//! the constructor, created by "matrix << firstValue" operator, where matrix is cv::Mat
|
|
|
|
@ -3102,7 +3102,7 @@ protected: |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename _Tp, int m, int n> class CV_EXPORTS MatxCommaInitializer |
|
|
|
|
template<typename _Tp, int m, int n> class MatxCommaInitializer |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
MatxCommaInitializer(Matx<_Tp, m, n>* _mtx); |
|
|
|
@ -3113,7 +3113,7 @@ public: |
|
|
|
|
int idx; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
template<typename _Tp, int m> class CV_EXPORTS VecCommaInitializer : public MatxCommaInitializer<_Tp, m, 1> |
|
|
|
|
template<typename _Tp, int m> class VecCommaInitializer : public MatxCommaInitializer<_Tp, m, 1> |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
VecCommaInitializer(Vec<_Tp, m>* _vec); |
|
|
|
@ -3148,7 +3148,7 @@ public: |
|
|
|
|
} |
|
|
|
|
\endcode |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp, size_t fixed_size=4096/sizeof(_Tp)+8> class CV_EXPORTS AutoBuffer |
|
|
|
|
template<typename _Tp, size_t fixed_size=4096/sizeof(_Tp)+8> class AutoBuffer |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef _Tp value_type; |
|
|
|
@ -3719,7 +3719,7 @@ public: |
|
|
|
|
m_.ref(2) += m_(3); // equivalent to m.ref<int>(2) += m.value<int>(3);
|
|
|
|
|
\endcode |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS SparseMat_ : public SparseMat |
|
|
|
|
template<typename _Tp> class SparseMat_ : public SparseMat |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef SparseMatIterator_<_Tp> iterator; |
|
|
|
@ -3793,7 +3793,7 @@ public: |
|
|
|
|
This is the derived from SparseMatConstIterator class that |
|
|
|
|
introduces more convenient operator *() for accessing the current element. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS SparseMatConstIterator_ : public SparseMatConstIterator |
|
|
|
|
template<typename _Tp> class SparseMatConstIterator_ : public SparseMatConstIterator |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef std::forward_iterator_tag iterator_category; |
|
|
|
@ -3823,7 +3823,7 @@ public: |
|
|
|
|
This is the derived from cv::SparseMatConstIterator_ class that |
|
|
|
|
introduces more convenient operator *() for accessing the current element. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS SparseMatIterator_ : public SparseMatConstIterator_<_Tp> |
|
|
|
|
template<typename _Tp> class SparseMatIterator_ : public SparseMatConstIterator_<_Tp> |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef std::forward_iterator_tag iterator_category; |
|
|
|
@ -4255,7 +4255,7 @@ typedef Ptr<CvMemStorage> MemStorage; |
|
|
|
|
i.e. no constructors or destructors |
|
|
|
|
are called for the sequence elements. |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS Seq |
|
|
|
|
template<typename _Tp> class Seq |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
typedef SeqIterator<_Tp> iterator; |
|
|
|
@ -4338,7 +4338,7 @@ public: |
|
|
|
|
/*!
|
|
|
|
|
STL-style Sequence Iterator inherited from the CvSeqReader structure |
|
|
|
|
*/ |
|
|
|
|
template<typename _Tp> class CV_EXPORTS SeqIterator : public CvSeqReader |
|
|
|
|
template<typename _Tp> class SeqIterator : public CvSeqReader |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
//! the default constructor
|
|
|
|
|