opencv 2.2.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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 >:

## 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
Mat & | adjustROI (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
Mat & | operator= (const Mat &m)
| assignment operators
Mat & | operator= (const MatExpr &expr)
Mat & | operator= (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
uchar * | ptr (int i0=0)
| returns pointer to i0-th submatrix along the dimension #0
const uchar * | ptr (int i0=0) const
uchar * | ptr (int i0, int i1)
| returns pointer to (i0,i1) submatrix along the dimensions #0 and #1
const uchar * | ptr (int i0, int i1) const
uchar * | ptr (int i0, int i1, int i2)
| returns pointer to (i0,i1,i3) submatrix along the dimensions #0, #1, #2
const uchar * | ptr (int i0, int i1, int i2) const
uchar * | ptr (const int *idx)
| returns pointer to the matrix element
const uchar * | ptr (const int *idx) const
| returns read-only pointer to the matrix element
template<int n>
uchar * | ptr (const Vec< int, n > &idx)
template<int n>
const uchar * | ptr (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
Mat & | setTo (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
MatAllocator * | allocator
| custom allocator
int | cols
uchar * | data
| pointer to the data
uchar * | dataend
uchar * | datalimit
uchar * | datastart
| 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.
Mat_<float>& M1 = (Mat_<float>&)M;
// 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 | ) |
| inline explicit

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`
| ) |  |
| inline explicit

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`
| ) |  |
| inline explicit

template<typename _Tp >
template<int m, int n>

Mat_< _Tp >::Mat_ | ( | const Matx< typename DataType< _Tp >::channel_type, m, n > & | mtx,
|  | bool | copyData = `true`
| ) |  |
| inline explicit

template<typename _Tp >

Mat_< _Tp >::Mat_ | ( | const Point_< typename DataType< _Tp >::channel_type > & | pt,
|  | bool | copyData = `true`
| ) |  |
| inline explicit

template<typename _Tp >

Mat_< _Tp >::Mat_ | ( | const Point3_< typename DataType< _Tp >::channel_type > & | pt,
|  | bool | copyData = `true`
| ) |  |
| inline explicit

template<typename _Tp >

Mat_< _Tp >::Mat_ | ( | const MatCommaInitializer_< _Tp > & | commaInitializer | ) |
| inline explicit

## 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
| ) |  |
| inline static

template<typename _Tp >

MatExpr Mat_< _Tp >::eye | ( | Size | size | ) |
| inline static

template<typename _Tp >

MatExpr Mat_< _Tp >::ones | ( | int | rows,
|  | int | cols
| ) |  |
| inline static

template<typename _Tp >

MatExpr Mat_< _Tp >::ones | ( | Size | size | ) |
| inline static

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
| ) |  |
| inline static

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

template<typename _Tp >

MatExpr Mat_< _Tp >::zeros | ( | Size | size | ) |
| inline static

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:

- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/core.hpp
- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/mat.hpp