opencv  2.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cv::Mat_< _Tp > Class Template Reference

#include <core.hpp>

Inheritance diagram for cv::Mat_< _Tp >:
cv::Mat

Public Types

typedef DataType< _Tp >
::channel_type 
channel_type
 
typedef MatConstIterator_< _Tp > const_iterator
 
typedef MatIterator_< _Tp > iterator
 
typedef _Tp value_type
 
- Public Types inherited from cv::Mat
enum  { MAGIC_VAL =0x42FF0000, AUTO_STEP =0, CONTINUOUS_FLAG =CV_MAT_CONT_FLAG, SUBMATRIX_FLAG =CV_SUBMAT_FLAG }
 

Public Member Functions

Mat_adjustROI (int dtop, int dbottom, int dleft, int dright)
 
iterator begin ()
 iterators; they are smart enough to skip gaps in the end of rows
 
const_iterator begin () const
 
int channels () const
 
Mat_ clone () const
 
Mat_ col (int x) const
 
void create (int _rows, int _cols)
 equivalent to Mat::create(_rows, _cols, DataType<_Tp>::type)
 
void create (Size _size)
 equivalent to Mat::create(_size, DataType<_Tp>::type)
 
void create (int _ndims, const int *_sizes)
 equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type)
 
Mat_ cross (const Mat_ &m) const
 cross-product
 
int depth () const
 
Mat_ diag (int d=0) const
 
size_t elemSize () const
 overridden forms of Mat::elemSize() etc.
 
size_t elemSize1 () const
 
iterator end ()
 
const_iterator end () const
 
 Mat_ ()
 default constructor
 
 Mat_ (int _rows, int _cols)
 equivalent to Mat(_rows, _cols, DataType<_Tp>::type)
 
 Mat_ (int _rows, int _cols, const _Tp &value)
 constructor that sets each matrix element to specified value
 
 Mat_ (Size _size)
 equivalent to Mat(_size, DataType<_Tp>::type)
 
 Mat_ (Size _size, const _Tp &value)
 constructor that sets each matrix element to specified value
 
 Mat_ (int _ndims, const int *_sizes)
 n-dim array constructor
 
 Mat_ (int _ndims, const int *_sizes, const _Tp &value)
 n-dim array constructor that sets each matrix element to specified value
 
 Mat_ (const Mat &m)
 copy/conversion contructor. If m is of different type, it's converted
 
 Mat_ (const Mat_ &m)
 copy constructor
 
 Mat_ (int _rows, int _cols, _Tp *_data, size_t _step=AUTO_STEP)
 constructs a matrix on top of user-allocated data. step is in bytes(!!!), regardless of the type
 
 Mat_ (int _ndims, const int *_sizes, _Tp *_data, const size_t *_steps=0)
 constructs n-dim matrix on top of user-allocated data. steps are in bytes(!!!), regardless of the type
 
 Mat_ (const Mat_ &m, const Range &rowRange, const Range &colRange=Range::all())
 selects a submatrix
 
 Mat_ (const Mat_ &m, const Rect &roi)
 selects a submatrix
 
 Mat_ (const Mat_ &m, const Range *ranges)
 selects a submatrix, n-dim version
 
 Mat_ (const vector< _Tp > &vec, bool copyData=false)
 makes a matrix out of Vec, std::vector, Point_ or Point3_. The matrix will have a single column
 
template<int n>
 Mat_ (const Vec< typename DataType< _Tp >::channel_type, n > &vec, bool copyData=true)
 
template<int m, int n>
 Mat_ (const Matx< typename DataType< _Tp >::channel_type, m, n > &mtx, bool copyData=true)
 
 Mat_ (const Point_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true)
 
 Mat_ (const Point3_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true)
 
 Mat_ (const MatCommaInitializer_< _Tp > &commaInitializer)
 
template<typename T2 >
 operator Mat_< T2 > () const
 data type conversion
 
template<int m, int n>
 operator Matx< typename DataType< _Tp >::channel_type, m, n > () const
 conversion to Matx
 
template<int n>
 operator Vec< typename DataType< _Tp >::channel_type, n > () const
 conversion to Vec
 
 operator vector< _Tp > () const
 conversion to vector.
 
Mat_ operator() (const Range &rowRange, const Range &colRange) const
 
Mat_ operator() (const Rect &roi) const
 
Mat_ operator() (const Range *ranges) const
 
_Tp & operator() (const int *idx)
 returns reference to the specified element
 
const _Tp & operator() (const int *idx) const
 returns read-only reference to the specified element
 
template<int n>
_Tp & operator() (const Vec< int, n > &idx)
 returns reference to the specified element
 
template<int n>
const _Tp & operator() (const Vec< int, n > &idx) const
 returns read-only reference to the specified element
 
_Tp & operator() (int idx0)
 returns reference to the specified element (1D case)
 
const _Tp & operator() (int idx0) const
 returns read-only reference to the specified element (1D case)
 
_Tp & operator() (int idx0, int idx1)
 returns reference to the specified element (2D case)
 
const _Tp & operator() (int idx0, int idx1) const
 returns read-only reference to the specified element (2D case)
 
_Tp & operator() (int idx0, int idx1, int idx2)
 returns reference to the specified element (3D case)
 
const _Tp & operator() (int idx0, int idx1, int idx2) const
 returns read-only reference to the specified element (3D case)
 
_Tp & operator() (Point pt)
 
const _Tp & operator() (Point pt) const
 
Mat_operator= (const Mat &m)
 
Mat_operator= (const Mat_ &m)
 
Mat_operator= (const _Tp &s)
 set all the elements to s.
 
Mat_operator= (const MatExpr &expr)
 to support complex matrix expressions
 
_Tp * operator[] (int y)
 more convenient forms of row and element access operators
 
const _Tp * operator[] (int y) const
 
Mat_ reshape (int _rows) const
 some more overriden methods
 
Mat_ row (int y) const
 overridden forms of Mat::row() etc.
 
size_t step1 (int i=0) const
 
size_t stepT (int i=0) const
 returns step()/sizeof(_Tp)
 
int type () const
 
- Public Member Functions inherited from cv::Mat
void addref ()
 increases the reference counter; use with care to avoid memleaks
 
MatadjustROI (int dtop, int dbottom, int dleft, int dright)
 moves/resizes the current matrix ROI inside the parent matrix.
 
void assignTo (Mat &m, int type=-1) const
 
template<typename _Tp >
_Tp & at (int i0=0)
 the same as above, with the pointer dereferencing
 
template<typename _Tp >
const _Tp & at (int i0=0) const
 
template<typename _Tp >
_Tp & at (int i0, int i1)
 
template<typename _Tp >
const _Tp & at (int i0, int i1) const
 
template<typename _Tp >
_Tp & at (int i0, int i1, int i2)
 
template<typename _Tp >
const _Tp & at (int i0, int i1, int i2) const
 
template<typename _Tp >
_Tp & at (const int *idx)
 
template<typename _Tp >
const _Tp & at (const int *idx) const
 
template<typename _Tp , int n>
_Tp & at (const Vec< int, n > &idx)
 
template<typename _Tp , int n>
const _Tp & at (const Vec< int, n > &idx) const
 
template<typename _Tp >
_Tp & at (Point pt)
 special versions for 2D arrays (especially convenient for referencing image pixels)
 
template<typename _Tp >
const _Tp & at (Point pt) const
 
template<typename _Tp >
MatIterator_< _Tp > begin ()
 template methods for iteration over matrix elements.
 
template<typename _Tp >
MatConstIterator_< _Tp > begin () const
 
int channels () const
 returns element type, similar to CV_MAT_CN(cvmat->type)
 
int checkVector (int elemChannels, int depth=-1, bool requireContinuous=true) const
 returns N if the matrix is 1-channel (N x ptdim) or ptdim-channel (1 x N) or (N x 1); negative number otherwise
 
Mat clone () const
 returns deep copy of the matrix, i.e. the data is copied
 
Mat col (int x) const
 returns a new matrix header for the specified column
 
Mat colRange (int startcol, int endcol) const
 ... for the specified column span
 
Mat colRange (const Range &r) const
 
void convertTo (Mat &m, int rtype, double alpha=1, double beta=0) const
 converts matrix to another datatype with optional scalng. See cvConvertScale.
 
void copySize (const Mat &m)
 internal use function; properly re-allocates _size, _step arrays
 
void copyTo (Mat &m) const
 copies the matrix content to "m".
 
template<typename _Tp >
void copyTo (vector< _Tp > &v) const
 
void copyTo (Mat &m, const Mat &mask) const
 copies those matrix elements to "m" that are marked with non-zero mask elements.
 
void create (int _rows, int _cols, int _type)
 allocates new matrix data unless the matrix already has specified size and type.
 
void create (Size _size, int _type)
 
void create (int _ndims, const int *_sizes, int _type)
 
Mat cross (const Mat &m) const
 computes cross-product of 2 3D vectors
 
void deallocate ()
 deallocates the matrix data
 
int depth () const
 returns element type, similar to CV_MAT_DEPTH(cvmat->type)
 
Mat diag (int d=0) const
 ... for the specified diagonal
 
double dot (const Mat &m) const
 computes dot-product
 
size_t elemSize () const
 returns element size in bytes,
 
size_t elemSize1 () const
 returns the size of element channel in bytes.
 
bool empty () const
 returns true if matrix data is NULL
 
template<typename _Tp >
MatIterator_< _Tp > end ()
 
template<typename _Tp >
MatConstIterator_< _Tp > end () const
 
MatExpr inv (int method=DECOMP_LU) const
 matrix inversion by means of matrix expressions
 
bool isContinuous () const
 returns true iff the matrix data is continuous
 
bool isSubmatrix () const
 returns true if the matrix is a submatrix of another matrix
 
void locateROI (Size &wholeSize, Point &ofs) const
 locates matrix header within a parent matrix. See below
 
 Mat ()
 default constructor
 
 Mat (int _rows, int _cols, int _type)
 constructs 2D matrix of the specified size and type
 
 Mat (Size _size, int _type)
 
 Mat (int _rows, int _cols, int _type, const Scalar &_s)
 constucts 2D matrix and fills it with the specified value _s.
 
 Mat (Size _size, int _type, const Scalar &_s)
 
 Mat (int _ndims, const int *_sizes, int _type)
 constructs n-dimensional matrix
 
 Mat (int _ndims, const int *_sizes, int _type, const Scalar &_s)
 
 Mat (const Mat &m)
 copy constructor
 
 Mat (int _rows, int _cols, int _type, void *_data, size_t _step=AUTO_STEP)
 constructor for matrix headers pointing to user-allocated data
 
 Mat (Size _size, int _type, void *_data, size_t _step=AUTO_STEP)
 
 Mat (int _ndims, const int *_sizes, int _type, void *_data, const size_t *_steps=0)
 
 Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all())
 creates a matrix header for a part of the bigger matrix
 
 Mat (const Mat &m, const Rect &roi)
 
 Mat (const Mat &m, const Range *ranges)
 
 Mat (const CvMat *m, bool copyData=false)
 converts old-style CvMat to the new matrix; the data is not copied by default
 
 Mat (const CvMatND *m, bool copyData=false)
 converts old-style CvMatND to the new matrix; the data is not copied by default
 
 Mat (const IplImage *img, bool copyData=false)
 converts old-style IplImage to the new matrix; the data is not copied by default
 
template<typename _Tp >
 Mat (const vector< _Tp > &vec, bool copyData=false)
 builds matrix from std::vector with or without copying the data
 
template<typename _Tp , int n>
 Mat (const Vec< _Tp, n > &vec, bool copyData=true)
 builds matrix from cv::Vec; the data is copied by default
 
template<typename _Tp , int m, int n>
 Mat (const Matx< _Tp, m, n > &mtx, bool copyData=true)
 builds matrix from cv::Matx; the data is copied by default
 
template<typename _Tp >
 Mat (const Point_< _Tp > &pt, bool copyData=true)
 builds matrix from a 2D point
 
template<typename _Tp >
 Mat (const Point3_< _Tp > &pt, bool copyData=true)
 builds matrix from a 3D point
 
template<typename _Tp >
 Mat (const MatCommaInitializer_< _Tp > &commaInitializer)
 builds matrix from comma initializer
 
MatExpr mul (const Mat &m, double scale=1) const
 per-element matrix multiplication by means of matrix expressions
 
MatExpr mul (const MatExpr &m, double scale=1) const
 
 operator CvMat () const
 converts header to CvMat; no data is copied
 
 operator CvMatND () const
 converts header to CvMatND; no data is copied
 
 operator IplImage () const
 converts header to IplImage; no data is copied
 
template<typename _Tp , int m, int n>
 operator Matx< _Tp, m, n > () const
 
template<typename _Tp , int n>
 operator Vec< _Tp, n > () const
 
template<typename _Tp >
 operator vector< _Tp > () const
 
Mat operator() (Range rowRange, Range colRange) const
 extracts a rectangular sub-matrix
 
Mat operator() (const Rect &roi) const
 
Mat operator() (const Range *ranges) const
 
Matoperator= (const Mat &m)
 assignment operators
 
Matoperator= (const MatExpr &expr)
 
Matoperator= (const Scalar &s)
 sets every matrix element to s
 
void pop_back (size_t nelems=1)
 removes several hyper-planes from bottom of the matrix
 
ucharptr (int i0=0)
 returns pointer to i0-th submatrix along the dimension #0
 
const ucharptr (int i0=0) const
 
ucharptr (int i0, int i1)
 returns pointer to (i0,i1) submatrix along the dimensions #0 and #1
 
const ucharptr (int i0, int i1) const
 
ucharptr (int i0, int i1, int i2)
 returns pointer to (i0,i1,i3) submatrix along the dimensions #0, #1, #2
 
const ucharptr (int i0, int i1, int i2) const
 
ucharptr (const int *idx)
 returns pointer to the matrix element
 
const ucharptr (const int *idx) const
 returns read-only pointer to the matrix element
 
template<int n>
ucharptr (const Vec< int, n > &idx)
 
template<int n>
const ucharptr (const Vec< int, n > &idx) const
 
template<typename _Tp >
_Tp * ptr (int i0=0)
 template version of the above method
 
template<typename _Tp >
const _Tp * ptr (int i0=0) const
 
template<typename _Tp >
_Tp * ptr (int i0, int i1)
 
template<typename _Tp >
const _Tp * ptr (int i0, int i1) const
 
template<typename _Tp >
_Tp * ptr (int i0, int i1, int i2)
 
template<typename _Tp >
const _Tp * ptr (int i0, int i1, int i2) const
 
template<typename _Tp >
_Tp * ptr (const int *idx)
 
template<typename _Tp >
const _Tp * ptr (const int *idx) const
 
template<typename _Tp , int n>
_Tp * ptr (const Vec< int, n > &idx)
 
template<typename _Tp , int n>
const _Tp * ptr (const Vec< int, n > &idx) const
 
template<typename _Tp >
void push_back (const _Tp &elem)
 adds element to the end of 1d matrix (or possibly multiple elements when _Tp=Mat)
 
template<typename _Tp >
void push_back (const Mat_< _Tp > &elem)
 
void push_back (const Mat &m)
 
void push_back_ (const void *elem)
 internal function
 
void release ()
 decreases reference counter;
 
void reserve (size_t sz)
 reserves enough space to fit sz hyper-planes
 
Mat reshape (int _cn, int _rows=0) const
 creates alternative matrix header for the same data, with different
 
Mat reshape (int _cn, int _newndims, const int *_newsz) const
 
void resize (size_t sz)
 resizes matrix to the specified number of hyper-planes
 
void resize (size_t sz, const Scalar &s)
 resizes matrix to the specified number of hyper-planes; initializes the newly added elements
 
Mat row (int y) const
 returns a new matrix header for the specified row
 
Mat rowRange (int startrow, int endrow) const
 ... for the specified row span
 
Mat rowRange (const Range &r) const
 
MatsetTo (const Scalar &s, const Mat &mask=Mat())
 sets some of the matrix elements to s, according to the mask
 
size_t step1 (int i=0) const
 returns step/elemSize1()
 
MatExpr t () const
 matrix transposition by means of matrix expressions
 
size_t total () const
 returns the total number of matrix elements
 
int type () const
 returns element type, similar to CV_MAT_TYPE(cvmat->type)
 
 ~Mat ()
 destructor - calls release()
 

Static Public Member Functions

static MatExpr eye (int rows, int cols)
 
static MatExpr eye (Size size)
 
static MatExpr ones (int rows, int cols)
 
static MatExpr ones (Size size)
 
static MatExpr ones (int _ndims, const int *_sizes)
 
static MatExpr zeros (int rows, int cols)
 overridden forms of Mat::zeros() etc. Data type is omitted, of course
 
static MatExpr zeros (Size size)
 
static MatExpr zeros (int _ndims, const int *_sizes)
 
- Static Public Member Functions inherited from cv::Mat
static Mat diag (const Mat &d)
 constructs a square diagonal matrix which main diagonal is vector "d"
 
static MatExpr eye (int rows, int cols, int type)
 
static MatExpr eye (Size size, int type)
 
static MatExpr ones (int rows, int cols, int type)
 
static MatExpr ones (Size size, int type)
 
static MatExpr ones (int ndims, const int *sz, int type)
 
static MatExpr zeros (int rows, int cols, int type)
 Matlab-style matrix initialization.
 
static MatExpr zeros (Size size, int type)
 
static MatExpr zeros (int ndims, const int *sz, int type)
 

Additional Inherited Members

- Public Attributes inherited from cv::Mat
MatAllocatorallocator
 custom allocator
 
int cols
 
uchardata
 pointer to the data
 
uchardataend
 
uchardatalimit
 
uchardatastart
 helper fields used in locateROI and adjustROI
 
int dims
 the matrix dimensionality, >= 2
 
int flags
 
int * refcount
 pointer to the reference counter;
 
int rows
 the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions
 
MSize size
 
MStep step
 

Detailed Description

template<typename _Tp>
class cv::Mat_< _Tp >

Template matrix class derived from Mat

The class Mat_ is a "thin" template wrapper on top of cv::Mat. It does not have any extra data fields, nor it or cv::Mat have any virtual methods and thus references or pointers to these two classes can be safely converted one to another. But do it with care, for example:

// create 100x100 8-bit matrix
Mat M(100,100,CV_8U);
// this will compile fine. no any data conversion will be done.
// the program will likely crash at the statement below
M1(99,99) = 1.f;

While cv::Mat is sufficient in most cases, cv::Mat_ can be more convenient if you use a lot of element access operations and if you know matrix type at compile time. Note that cv::Mat::at<Tp>(int y, int x) and cv::Mat<_Tp>::operator ()(int y, int x) do absolutely the same thing and run at the same speed, but the latter is certainly shorter:

Mat_<double> M(20,20);
for(int i = 0; i < M.rows; i++)
for(int j = 0; j < M.cols; j++)
M(i,j) = 1./(i+j+1);
Mat E, V;
eigen(M,E,V);
cout << E.at<double>(0,0)/E.at<double>(M.rows-1,0);

It is easy to use Mat_ for multi-channel images/matrices - just pass cv::Vec as cv::Mat_ template parameter:

// allocate 320x240 color image and fill it with green (in RGB space)
Mat_<Vec3b> img(240, 320, Vec3b(0,255,0));
// now draw a diagonal white line
for(int i = 0; i < 100; i++)
img(i,i)=Vec3b(255,255,255);
// and now modify the 2nd (red) channel of each pixel
for(int i = 0; i < img.rows; i++)
for(int j = 0; j < img.cols; j++)
img(i,j)[2] ^= (uchar)(i ^ j); // img(y,x)[c] accesses c-th channel of the pixel (x,y)

Member Typedef Documentation

template<typename _Tp>
typedef DataType<_Tp>::channel_type cv::Mat_< _Tp >::channel_type
template<typename _Tp>
typedef MatConstIterator_<_Tp> cv::Mat_< _Tp >::const_iterator
template<typename _Tp>
typedef MatIterator_<_Tp> cv::Mat_< _Tp >::iterator
template<typename _Tp>
typedef _Tp cv::Mat_< _Tp >::value_type

Constructor & Destructor Documentation

template<typename _Tp >
Mat_< _Tp >::Mat_ ( )
inline

default constructor

template<typename _Tp >
Mat_< _Tp >::Mat_ ( int  _rows,
int  _cols 
)
inline

equivalent to Mat(_rows, _cols, DataType<_Tp>::type)

template<typename _Tp >
Mat_< _Tp >::Mat_ ( int  _rows,
int  _cols,
const _Tp &  value 
)
inline

constructor that sets each matrix element to specified value

template<typename _Tp >
Mat_< _Tp >::Mat_ ( Size  _size)
inlineexplicit

equivalent to Mat(_size, DataType<_Tp>::type)

template<typename _Tp >
Mat_< _Tp >::Mat_ ( Size  _size,
const _Tp &  value 
)
inline

constructor that sets each matrix element to specified value

template<typename _Tp >
Mat_< _Tp >::Mat_ ( int  _ndims,
const int *  _sizes 
)
inline

n-dim array constructor

template<typename _Tp >
Mat_< _Tp >::Mat_ ( int  _ndims,
const int *  _sizes,
const _Tp &  value 
)
inline

n-dim array constructor that sets each matrix element to specified value

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Mat m)
inline

copy/conversion contructor. If m is of different type, it's converted

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Mat_< _Tp > &  m)
inline

copy constructor

template<typename _Tp >
Mat_< _Tp >::Mat_ ( int  _rows,
int  _cols,
_Tp *  _data,
size_t  _step = AUTO_STEP 
)
inline

constructs a matrix on top of user-allocated data. step is in bytes(!!!), regardless of the type

template<typename _Tp>
cv::Mat_< _Tp >::Mat_ ( int  _ndims,
const int *  _sizes,
_Tp *  _data,
const size_t *  _steps = 0 
)

constructs n-dim matrix on top of user-allocated data. steps are in bytes(!!!), regardless of the type

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Mat_< _Tp > &  m,
const Range rowRange,
const Range colRange = Range::all() 
)
inline

selects a submatrix

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Mat_< _Tp > &  m,
const Rect roi 
)
inline

selects a submatrix

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Mat_< _Tp > &  m,
const Range ranges 
)
inline

selects a submatrix, n-dim version

template<typename _Tp >
Mat_< _Tp >::Mat_ ( const vector< _Tp > &  vec,
bool  copyData = false 
)
inlineexplicit

makes a matrix out of Vec, std::vector, Point_ or Point3_. The matrix will have a single column

template<typename _Tp >
template<int n>
Mat_< _Tp >::Mat_ ( const Vec< typename DataType< _Tp >::channel_type, n > &  vec,
bool  copyData = true 
)
inlineexplicit
template<typename _Tp >
template<int m, int n>
Mat_< _Tp >::Mat_ ( const Matx< typename DataType< _Tp >::channel_type, m, n > &  mtx,
bool  copyData = true 
)
inlineexplicit
template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Point_< typename DataType< _Tp >::channel_type > &  pt,
bool  copyData = true 
)
inlineexplicit
template<typename _Tp >
Mat_< _Tp >::Mat_ ( const Point3_< typename DataType< _Tp >::channel_type > &  pt,
bool  copyData = true 
)
inlineexplicit
template<typename _Tp >
Mat_< _Tp >::Mat_ ( const MatCommaInitializer_< _Tp > &  commaInitializer)
inlineexplicit

Member Function Documentation

template<typename _Tp >
Mat_< _Tp > & Mat_< _Tp >::adjustROI ( int  dtop,
int  dbottom,
int  dleft,
int  dright 
)
inline
template<typename _Tp >
MatIterator_< _Tp > Mat_< _Tp >::begin ( )
inline

iterators; they are smart enough to skip gaps in the end of rows

template<typename _Tp >
MatConstIterator_< _Tp > Mat_< _Tp >::begin ( ) const
inline
template<typename _Tp >
int Mat_< _Tp >::channels ( ) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::clone ( ) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::col ( int  x) const
inline
template<typename _Tp >
void Mat_< _Tp >::create ( int  _rows,
int  _cols 
)
inline

equivalent to Mat::create(_rows, _cols, DataType<_Tp>::type)

template<typename _Tp >
void Mat_< _Tp >::create ( Size  _size)
inline

equivalent to Mat::create(_size, DataType<_Tp>::type)

template<typename _Tp >
void Mat_< _Tp >::create ( int  _ndims,
const int *  _sizes 
)
inline

equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type)

template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::cross ( const Mat_< _Tp > &  m) const
inline

cross-product

template<typename _Tp >
int Mat_< _Tp >::depth ( ) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::diag ( int  d = 0) const
inline
template<typename _Tp >
size_t Mat_< _Tp >::elemSize ( ) const
inline

overridden forms of Mat::elemSize() etc.

template<typename _Tp >
size_t Mat_< _Tp >::elemSize1 ( ) const
inline
template<typename _Tp >
MatIterator_< _Tp > Mat_< _Tp >::end ( )
inline
template<typename _Tp >
MatConstIterator_< _Tp > Mat_< _Tp >::end ( ) const
inline
template<typename _Tp >
MatExpr Mat_< _Tp >::eye ( int  rows,
int  cols 
)
inlinestatic
template<typename _Tp >
MatExpr Mat_< _Tp >::eye ( Size  size)
inlinestatic
template<typename _Tp >
MatExpr Mat_< _Tp >::ones ( int  rows,
int  cols 
)
inlinestatic
template<typename _Tp >
MatExpr Mat_< _Tp >::ones ( Size  size)
inlinestatic
template<typename _Tp>
static MatExpr cv::Mat_< _Tp >::ones ( int  _ndims,
const int *  _sizes 
)
static
template<typename _Tp >
template<typename T2 >
Mat_< _Tp >::operator Mat_< T2 > ( ) const
inline

data type conversion

template<typename _Tp >
template<int m, int n>
Mat_< _Tp >::operator Matx< typename DataType< _Tp >::channel_type, m, n > ( ) const
inline

conversion to Matx

template<typename _Tp >
template<int n>
Mat_< _Tp >::operator Vec< typename DataType< _Tp >::channel_type, n > ( ) const
inline

conversion to Vec

template<typename _Tp >
Mat_< _Tp >::operator vector< _Tp > ( ) const
inline

conversion to vector.

template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::operator() ( const Range rowRange,
const Range colRange 
) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::operator() ( const Rect roi) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::operator() ( const Range ranges) const
inline
template<typename _Tp >
_Tp & Mat_< _Tp >::operator() ( const int *  idx)
inline

returns reference to the specified element

template<typename _Tp >
const _Tp & Mat_< _Tp >::operator() ( const int *  idx) const
inline

returns read-only reference to the specified element

template<typename _Tp>
template<int n>
_Tp& cv::Mat_< _Tp >::operator() ( const Vec< int, n > &  idx)

returns reference to the specified element

template<typename _Tp>
template<int n>
const _Tp& cv::Mat_< _Tp >::operator() ( const Vec< int, n > &  idx) const

returns read-only reference to the specified element

template<typename _Tp >
_Tp & Mat_< _Tp >::operator() ( int  idx0)
inline

returns reference to the specified element (1D case)

template<typename _Tp >
const _Tp & Mat_< _Tp >::operator() ( int  idx0) const
inline

returns read-only reference to the specified element (1D case)

template<typename _Tp >
_Tp & Mat_< _Tp >::operator() ( int  idx0,
int  idx1 
)
inline

returns reference to the specified element (2D case)

template<typename _Tp >
const _Tp & Mat_< _Tp >::operator() ( int  idx0,
int  idx1 
) const
inline

returns read-only reference to the specified element (2D case)

template<typename _Tp >
_Tp & Mat_< _Tp >::operator() ( int  idx0,
int  idx1,
int  idx2 
)
inline

returns reference to the specified element (3D case)

template<typename _Tp >
const _Tp & Mat_< _Tp >::operator() ( int  idx0,
int  idx1,
int  idx2 
) const
inline

returns read-only reference to the specified element (3D case)

template<typename _Tp >
_Tp & Mat_< _Tp >::operator() ( Point  pt)
inline
template<typename _Tp >
const _Tp & Mat_< _Tp >::operator() ( Point  pt) const
inline
template<typename _Tp >
Mat_< _Tp > & Mat_< _Tp >::operator= ( const Mat m)
inline
template<typename _Tp >
Mat_< _Tp > & Mat_< _Tp >::operator= ( const Mat_< _Tp > &  m)
inline
template<typename _Tp >
Mat_< _Tp > & Mat_< _Tp >::operator= ( const _Tp &  s)
inline

set all the elements to s.

template<typename _Tp >
Mat_< _Tp > & Mat_< _Tp >::operator= ( const MatExpr expr)

to support complex matrix expressions

template<typename _Tp >
_Tp * Mat_< _Tp >::operator[] ( int  y)
inline

more convenient forms of row and element access operators

template<typename _Tp >
const _Tp * Mat_< _Tp >::operator[] ( int  y) const
inline
template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::reshape ( int  _rows) const
inline

some more overriden methods

template<typename _Tp >
Mat_< _Tp > Mat_< _Tp >::row ( int  y) const
inline

overridden forms of Mat::row() etc.

template<typename _Tp >
size_t Mat_< _Tp >::step1 ( int  i = 0) const
inline
template<typename _Tp >
size_t Mat_< _Tp >::stepT ( int  i = 0) const
inline

returns step()/sizeof(_Tp)

template<typename _Tp >
int Mat_< _Tp >::type ( ) const
inline
template<typename _Tp >
MatExpr Mat_< _Tp >::zeros ( int  rows,
int  cols 
)
inlinestatic

overridden forms of Mat::zeros() etc. Data type is omitted, of course

template<typename _Tp >
MatExpr Mat_< _Tp >::zeros ( Size  size)
inlinestatic
template<typename _Tp>
static MatExpr cv::Mat_< _Tp >::zeros ( int  _ndims,
const int *  _sizes 
)
static

The documentation for this class was generated from the following files: