OpenCV
5.0.0-pre
Open Source Computer Vision
|
Template matrix class derived from Mat. More...
#include <opencv2/core/mat.hpp>
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 } |
enum | { MAGIC_MASK = 0xFFFF0000 , TYPE_MASK = 0x00000FFF , DEPTH_MASK = 7 } |
Public Member Functions | |
Mat_ () CV_NOEXCEPT | |
default constructor | |
Mat_ (const Mat &m) | |
copy/conversion constructor. If m is of different type, it's converted | |
Mat_ (const Mat_ &m) | |
copy constructor | |
Mat_ (const Mat_ &m, const Range &rowRange, const Range &colRange=Range::all()) | |
selects a submatrix | |
Mat_ (const Mat_ &m, const Range *ranges) | |
selects a submatrix, n-dim version | |
Mat_ (const Mat_ &m, const Rect &roi) | |
selects a submatrix | |
Mat_ (const Mat_ &m, const std::vector< Range > &ranges) | |
selects a submatrix, n-dim version | |
Mat_ (const MatCommaInitializer_< _Tp > &commaInitializer) | |
Mat_ (const MatExpr &e) | |
from a matrix expression | |
template<int m, int n> | |
Mat_ (const Matx< typename DataType< _Tp >::channel_type, m, n > &mtx, bool copyData=true) | |
Mat_ (const Point3_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true) | |
Mat_ (const Point_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true) | |
template<std::size_t _Nm> | |
Mat_ (const std::array< _Tp, _Nm > &arr, bool copyData=false) | |
Mat_ (const std::initializer_list< int > sizes, const std::initializer_list< _Tp > values) | |
Mat_ (const std::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) | |
Mat_ (int _ndims, const int *_sizes) | |
n-dim array constructor | |
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_ (int _ndims, const int *_sizes, const _Tp &value) | |
n-dim array constructor that sets each matrix element to specified value | |
Mat_ (int _rows, int _cols) | |
equivalent to Mat(_rows, _cols, DataType<_Tp>::type) | |
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 _rows, int _cols, const _Tp &value) | |
constructor that sets each matrix element to specified value | |
Mat_ (Mat &&m) | |
Mat_ (Mat_ &&m) | |
Mat_ (MatExpr &&e) | |
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_ (std::initializer_list< _Tp > values) | |
Mat_ & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
some more overridden methods | |
iterator | begin () |
iterators; they are smart enough to skip gaps in the end of rows | |
const_iterator | begin () const |
int | channels () const |
CV_NODISCARD_STD Mat_ | clone () const |
Mat_ | col (int x) const |
void | create (int _ndims, const int *_sizes) |
equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type) | |
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 | createSameSize (InputArray arr) |
equivalent to Mat::create(arr.ndims, arr.size.p, 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 |
template<typename Functor > | |
void | forEach (const Functor &operation) |
template methods for operation over all matrix elements. | |
template<typename Functor > | |
void | forEach (const Functor &operation) const |
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<std::size_t _Nm> | |
operator std::array< _Tp, _Nm > () const | |
conversion to array. | |
operator std::vector< _Tp > () const | |
conversion to vector. | |
template<int n> | |
operator Vec< typename DataType< _Tp >::channel_type, n > () const | |
conversion to Vec | |
_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 | |
Mat_ | operator() (const Range &rowRange, const Range &colRange) const |
Mat_ | operator() (const Range *ranges) const |
Mat_ | operator() (const Rect &roi) const |
Mat_ | operator() (const std::vector< Range > &ranges) const |
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, 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() (int row, int col) |
returns reference to the specified element (2D case) | |
const _Tp & | operator() (int row, int col) const |
returns read-only reference to the specified element (2D case) | |
_Tp & | operator() (Point pt) |
const _Tp & | operator() (Point pt) const |
Mat_ & | operator= (const _Tp &s) |
set all the elements to s. | |
Mat_ & | operator= (const Mat &m) |
Mat_ & | operator= (const Mat_ &m) |
Mat_ & | operator= (const MatExpr &e) |
assign a matrix expression | |
Mat_ & | operator= (Mat &&m) |
Mat_ & | operator= (Mat_ &&m) |
_Tp * | operator[] (int y) |
more convenient forms of row and element access operators | |
const _Tp * | operator[] (int y) const |
std::reverse_iterator< iterator > | rbegin () |
std::reverse_iterator< const_iterator > | rbegin () const |
void | release () |
equivalent to Mat::release() | |
std::reverse_iterator< iterator > | rend () |
std::reverse_iterator< const_iterator > | rend () const |
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 | |
Mat () CV_NOEXCEPT | |
Mat (const cuda::GpuMat &m) | |
download data from GpuMat | |
Mat (const Mat &m) | |
Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all()) | |
Mat (const Mat &m, const Range *ranges) | |
Mat (const Mat &m, const Rect &roi) | |
Mat (const Mat &m, const std::vector< Range > &ranges) | |
template<typename _Tp > | |
Mat (const MatCommaInitializer_< _Tp > &commaInitializer) | |
Mat (const MatShape &shape, int type) | |
Mat (const MatShape &shape, int type, const Scalar &s) | |
Mat (const MatShape &shape, int type, void *data, const size_t *steps=0) | |
template<typename _Tp , int m, int n> | |
Mat (const Matx< _Tp, m, n > &mtx, bool copyData=true) | |
template<typename _Tp > | |
Mat (const Point3_< _Tp > &pt, bool copyData=true) | |
template<typename _Tp > | |
Mat (const Point_< _Tp > &pt, bool copyData=true) | |
template<typename _Tp , size_t _Nm> | |
Mat (const std::array< _Tp, _Nm > &arr, bool copyData=false) | |
template<typename _Tp , typename = typename std::enable_if<std::is_arithmetic<_Tp>::value>::type> | |
Mat (const std::initializer_list< _Tp > list) | |
template<typename _Tp > | |
Mat (const std::initializer_list< int > sizes, const std::initializer_list< _Tp > list) | |
template<typename _Tp > | |
Mat (const std::vector< _Tp > &vec, bool copyData=false) | |
Mat (const std::vector< int > &sizes, int type) | |
Mat (const std::vector< int > &sizes, int type, const Scalar &s) | |
Mat (const std::vector< int > &sizes, int type, void *data, const size_t *steps=0) | |
template<typename _Tp , int n> | |
Mat (const Vec< _Tp, n > &vec, bool copyData=true) | |
Mat (int ndims, const int *sizes, int type) | |
Mat (int ndims, const int *sizes, int type, const Scalar &s) | |
Mat (int ndims, const int *sizes, int type, void *data, const size_t *steps=0) | |
Mat (int rows, int cols, int type) | |
Mat (int rows, int cols, int type, const Scalar &s) | |
Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP) | |
Mat (Mat &&m) CV_NOEXCEPT | |
Mat (Size size, int type) | |
Mat (Size size, int type, const Scalar &s) | |
Mat (Size size, int type, void *data, size_t step=AUTO_STEP) | |
Mat (std::initializer_list< int > shape, int type) | |
Mat (std::initializer_list< int > shape, int type, const Scalar &s) | |
Mat (std::initializer_list< int > shape, int type, void *data, const size_t *steps=0) | |
~Mat () | |
destructor - calls release() | |
void | addref () |
Increments the reference counter. | |
Mat & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
Adjusts a submatrix size and position within the parent matrix. | |
void | assignTo (Mat &m, int type=-1) const |
Provides a functional form of convertTo. | |
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 (int i0, int i1, int i2) |
template<typename _Tp > | |
const _Tp & | at (int i0, int i1, int i2) const |
template<typename _Tp > | |
_Tp & | at (int i0=0) |
Returns a reference to the specified array element. | |
template<typename _Tp > | |
const _Tp & | at (int i0=0) const |
template<typename _Tp > | |
_Tp & | at (int row, int col) |
template<typename _Tp > | |
const _Tp & | at (int row, int col) const |
template<typename _Tp > | |
_Tp & | at (Point pt) |
template<typename _Tp > | |
const _Tp & | at (Point pt) const |
template<typename _Tp > | |
MatIterator_< _Tp > | begin () |
Returns the matrix iterator and sets it to the first matrix element. | |
template<typename _Tp > | |
MatConstIterator_< _Tp > | begin () const |
int | channels () const |
Returns the number of matrix channels. | |
int | checkVector (int elemChannels, int depth=-1, bool requireContinuous=true) const |
CV_NODISCARD_STD Mat | clone () const |
Creates a full copy of the array and the underlying data. | |
Mat | col (int x) const |
Creates a matrix header for the specified matrix column. | |
Mat | colRange (const Range &r) const |
Mat | colRange (int startcol, int endcol) const |
Creates a matrix header for the specified column span. | |
void | convertTo (OutputArray m, int rtype, double alpha=1, double beta=0) const |
Converts an array to another data type with optional scaling. | |
void | copySize (const Mat &m) |
internal use function; properly re-allocates _size, _step arrays | |
void | copyTo (OutputArray m) const |
Copies the matrix to another one. | |
void | copyTo (OutputArray m, InputArray mask) const |
void | create (const MatShape &shape, int type) |
void | create (const std::vector< int > &sizes, int type) |
void | create (int ndims, const int *sizes, int type) |
void | create (int rows, int cols, int type) |
Allocates new array data if needed. | |
void | create (Size size, int type) |
void | create (std::initializer_list< int > shape, int type) |
void | createSameSize (InputArray arr, int type) |
Creates the matrix of the same size as another array. | |
Mat | cross (InputArray m) const |
Computes a cross-product of two 3-element vectors. | |
void | deallocate () |
internal use function, consider to use 'release' method instead; deallocates the matrix data | |
int | depth () const |
Returns the depth of a matrix element. | |
Mat | diag (int d=0) const |
Extracts a diagonal from a matrix. | |
double | dot (InputArray m) const |
Computes a dot-product of two vectors. | |
size_t | elemSize () const |
Returns the matrix element size in bytes. | |
size_t | elemSize1 () const |
Returns the size of each matrix element channel in bytes. | |
bool | empty () const |
Returns true if the array has no elements. | |
template<typename _Tp > | |
MatIterator_< _Tp > | end () |
Returns the matrix iterator and sets it to the after-last matrix element. | |
template<typename _Tp > | |
MatConstIterator_< _Tp > | end () const |
void | fit (const MatShape &shape, int type) |
void | fit (const std::vector< int > &sizes, int type) |
void | fit (int ndims, const int *sizes, int type) |
void | fit (int rows, int cols, int type) |
Similar to create(rows, cols, type), but only reallocates memory if the existing buffer size is not enough. | |
void | fit (Size size, int type) |
void | fit (std::initializer_list< int > shape, int type) |
void | fitSameSize (InputArray arr, int type) |
Similar to createSameSize(arr, type), but only reallocates memory if the existing buffer is not enough. | |
template<typename _Tp , typename Functor > | |
void | forEach (const Functor &operation) |
Runs the given functor over all matrix elements in parallel. | |
template<typename _Tp , typename Functor > | |
void | forEach (const Functor &operation) const |
UMat | getUMat (AccessFlag accessFlags, UMatUsageFlags usageFlags=USAGE_DEFAULT) const |
retrieve UMat from Mat | |
MatExpr | inv (int method=DECOMP_LU) const |
Inverses a matrix. | |
bool | isContinuous () const |
Reports whether the matrix is continuous or not. | |
bool | isSubmatrix () const |
returns true if the matrix is a submatrix of another matrix | |
void | locateROI (Size &wholeSize, Point &ofs) const |
Locates the matrix header within a parent matrix. | |
MatExpr | mul (InputArray m, double scale=1) const |
Performs an element-wise multiplication or division of the two matrices. | |
template<typename _Tp , int m, int n> | |
operator Matx< _Tp, m, n > () const | |
template<typename _Tp , std::size_t _Nm> | |
operator std::array< _Tp, _Nm > () const | |
template<typename _Tp > | |
operator std::vector< _Tp > () const | |
template<typename _Tp , int n> | |
operator Vec< _Tp, n > () const | |
Mat | operator() (const Range *ranges) const |
Mat | operator() (const Rect &roi) const |
Mat | operator() (const std::vector< Range > &ranges) const |
Mat | operator() (Range rowRange, Range colRange) const |
Extracts a rectangular submatrix. | |
Mat & | operator= (const Mat &m) |
assignment operators | |
Mat & | operator= (const MatExpr &expr) |
Mat & | operator= (const Scalar &s) |
Sets all or some of the array elements to the specified value. | |
Mat & | operator= (Mat &&m) |
void | pop_back (size_t nelems=1) |
Removes elements from the bottom of the matrix. | |
uchar * | ptr (const int *idx) |
template<typename _Tp > | |
_Tp * | ptr (const int *idx) |
const uchar * | ptr (const int *idx) const |
template<typename _Tp > | |
const _Tp * | ptr (const int *idx) const |
template<int n> | |
uchar * | ptr (const Vec< int, n > &idx) |
template<typename _Tp , int n> | |
_Tp * | ptr (const Vec< int, n > &idx) |
template<int n> | |
const uchar * | ptr (const Vec< int, n > &idx) const |
template<typename _Tp , int n> | |
const _Tp * | ptr (const Vec< int, n > &idx) const |
uchar * | ptr (int i0, int i1, int i2) |
template<typename _Tp > | |
_Tp * | ptr (int i0, int i1, int i2) |
const uchar * | ptr (int i0, int i1, int i2) const |
template<typename _Tp > | |
const _Tp * | ptr (int i0, int i1, int i2) const |
uchar * | ptr (int i0=0) |
Returns a pointer to the specified matrix row. | |
template<typename _Tp > | |
_Tp * | ptr (int i0=0) |
const uchar * | ptr (int i0=0) const |
template<typename _Tp > | |
const _Tp * | ptr (int i0=0) const |
uchar * | ptr (int row, int col) |
template<typename _Tp > | |
_Tp * | ptr (int row, int col) |
const uchar * | ptr (int row, int col) const |
template<typename _Tp > | |
const _Tp * | ptr (int row, int col) const |
template<typename _Tp > | |
void | push_back (const _Tp &elem) |
Adds elements to the bottom of the matrix. | |
void | push_back (const Mat &m) |
template<typename _Tp > | |
void | push_back (const Mat_< _Tp > &elem) |
template<typename _Tp > | |
void | push_back (const std::vector< _Tp > &elem) |
void | push_back_ (const void *elem) |
internal function | |
template<typename _Tp > | |
std::reverse_iterator< MatIterator_< _Tp > > | rbegin () |
Same as begin() but for inverse traversal. | |
template<typename _Tp > | |
std::reverse_iterator< MatConstIterator_< _Tp > > | rbegin () const |
void | release () |
Decrements the reference counter and deallocates the matrix if needed. | |
template<typename _Tp > | |
std::reverse_iterator< MatIterator_< _Tp > > | rend () |
Same as end() but for inverse traversal. | |
template<typename _Tp > | |
std::reverse_iterator< MatConstIterator_< _Tp > > | rend () const |
void | reserve (size_t sz) |
Reserves space for the certain number of rows. | |
void | reserveBuffer (size_t sz) |
Reserves space for the certain number of bytes. | |
Mat | reshape (int cn, const MatShape &newshape) const |
Mat | reshape (int cn, const std::vector< int > &newshape) const |
Mat | reshape (int cn, int newndims, const int *newsz) const |
Mat | reshape (int cn, int rows=0) const |
Changes the shape and/or the number of channels of a 2D matrix without copying the data. | |
Mat | reshape (int cn, std::initializer_list< int > newshape) const |
void | resize (size_t sz) |
Changes the number of matrix rows. | |
void | resize (size_t sz, const Scalar &s) |
Mat | row (int y) const |
Creates a matrix header for the specified matrix row. | |
Mat | rowRange (const Range &r) const |
Mat | rowRange (int startrow, int endrow) const |
Creates a matrix header for the specified row span. | |
Mat & | setTo (InputArray value, InputArray mask=noArray()) |
Sets all or some of the array elements to the specified value. | |
Mat & | setZero () |
Sets all the array elements to 0. | |
MatShape | shape () const |
Returns the shape. | |
size_t | step1 (int i=0) const |
Returns a normalized step. | |
MatExpr | t () const |
Transposes a matrix. | |
size_t | total () const |
Returns the total number of array elements. | |
size_t | total (int startDim, int endDim=INT_MAX) const |
Returns the total number of array elements. | |
int | type () const |
Returns the type of a matrix element. | |
void | updateContinuityFlag () |
internal use method: updates the continuity flag | |
Static Public Member Functions | |
static CV_NODISCARD_STD MatExpr | eye (int rows, int cols) |
static CV_NODISCARD_STD MatExpr | eye (Size size) |
static CV_NODISCARD_STD MatExpr | ones (int _ndims, const int *_sizes) |
static CV_NODISCARD_STD MatExpr | ones (int rows, int cols) |
static CV_NODISCARD_STD MatExpr | ones (Size size) |
static CV_NODISCARD_STD MatExpr | zeros (int _ndims, const int *_sizes) |
static CV_NODISCARD_STD MatExpr | zeros (int rows, int cols) |
overridden forms of Mat::zeros() etc. Data type is omitted, of course | |
static CV_NODISCARD_STD MatExpr | zeros (Size size) |
Static Public Member Functions inherited from cv::Mat | |
static CV_NODISCARD_STD Mat | diag (const Mat &d) |
creates a diagonal matrix | |
static CV_NODISCARD_STD MatExpr | eye (int rows, int cols, int type) |
Returns an identity matrix of the specified size and type. | |
static CV_NODISCARD_STD MatExpr | eye (Size size, int type) |
static MatAllocator * | getDefaultAllocator () |
static MatAllocator * | getStdAllocator () |
and the standard allocator | |
static CV_NODISCARD_STD MatExpr | ones (int ndims, const int *sz, int type) |
static CV_NODISCARD_STD MatExpr | ones (int rows, int cols, int type) |
Returns an array of all 1's of the specified size and type. | |
static CV_NODISCARD_STD MatExpr | ones (Size size, int type) |
static void | setDefaultAllocator (MatAllocator *allocator) |
static CV_NODISCARD_STD MatExpr | zeros (int ndims, const int *sz, int type) |
static CV_NODISCARD_STD MatExpr | zeros (int rows, int cols, int type) |
Returns a zero array of the specified size and type. | |
static CV_NODISCARD_STD MatExpr | zeros (Size size, int type) |
Additional Inherited Members | |
Public Attributes inherited from cv::Mat | |
MatAllocator * | allocator |
custom allocator | |
int | cols |
uchar * | data |
pointer to the data | |
const uchar * | dataend |
const uchar * | datalimit |
const uchar * | datastart |
helper fields used in locateROI and adjustROI | |
int | dims |
the matrix dimensionality, >= 2 | |
int | dummy = 153 |
int | flags |
int | rows |
the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions | |
MatSize | size |
MatStep | step |
UMatData * | u |
interaction with UMat | |
Protected Member Functions inherited from cv::Mat | |
template<typename _Tp , typename Functor > | |
void | forEach_impl (const Functor &operation) |
Template matrix class derived from Mat.
The class Mat_<_Tp>
is a thin template wrapper on top of the Mat class. It does not have any extra data fields. Nor this class nor Mat has any virtual methods. Thus, references or pointers to these two classes can be freely but carefully converted one to another. For example:
While Mat is sufficient in most cases, Mat_ can be more convenient if you use a lot of element access operations and if you know matrix type at the compilation time. Note that Mat::at(int y,int x)
and Mat_::operator()(int y,int x)
do absolutely the same and run at the same speed, but the latter is certainly shorter:
To use Mat_ for multi-channel images/matrices, pass Vec as a Mat_ parameter:
Mat_ is fully compatible with C++11 range-based for loop. For example such loop can be used to safely apply look-up table:
typedef MatConstIterator_<_Tp> cv::Mat_< _Tp >::const_iterator |
typedef MatIterator_<_Tp> cv::Mat_< _Tp >::iterator |
equivalent to Mat(_rows, _cols, DataType<_Tp>::type)
constructor that sets each matrix element to specified value
equivalent to Mat(_size, DataType<_Tp>::type)
constructor that sets each matrix element to specified value
n-dim array constructor
n-dim array constructor that sets each matrix element to specified value
copy/conversion constructor. If m is of different type, it's converted
cv::Mat_< _Tp >::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
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
cv::Mat_< _Tp >::Mat_ | ( | const Mat_< _Tp > & | m, |
const Range & | rowRange, | ||
const Range & | colRange = Range::all() |
||
) |
selects a submatrix
selects a submatrix
selects a submatrix, n-dim version
cv::Mat_< _Tp >::Mat_ | ( | const Mat_< _Tp > & | m, |
const std::vector< Range > & | ranges | ||
) |
selects a submatrix, n-dim version
from a matrix expression
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
Mat_ & cv::Mat_< _Tp >::adjustROI | ( | int | dtop, |
int | dbottom, | ||
int | dleft, | ||
int | dright | ||
) |
some more overridden methods
iterators; they are smart enough to skip gaps in the end of rows
const_iterator cv::Mat_< _Tp >::begin | ( | ) | const |
CV_NODISCARD_STD Mat_ cv::Mat_< _Tp >::clone | ( | ) | const |
equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type)
equivalent to Mat::create(_rows, _cols, DataType<_Tp>::type)
equivalent to Mat::create(_size, DataType<_Tp>::type)
void cv::Mat_< _Tp >::createSameSize | ( | InputArray | arr | ) |
equivalent to Mat::create(arr.ndims, arr.size.p, DatType<_Tp>::type)
overridden forms of Mat::elemSize() etc.
const_iterator cv::Mat_< _Tp >::end | ( | ) | const |
|
static |
void cv::Mat_< _Tp >::forEach | ( | const Functor & | operation | ) |
template methods for operation over all matrix elements.
void cv::Mat_< _Tp >::forEach | ( | const Functor & | operation | ) | const |
|
static |
|
static |
data type conversion
cv::Mat_< _Tp >::operator Matx< typename DataType< _Tp >::channel_type, m, n > | ( | ) | const |
conversion to Matx
cv::Mat_< _Tp >::operator std::array< _Tp, _Nm > | ( | ) | const |
conversion to array.
conversion to vector.
cv::Mat_< _Tp >::operator Vec< typename DataType< _Tp >::channel_type, n > | ( | ) | const |
conversion to Vec
returns reference to the specified element
returns read-only reference to the specified element
Mat_ cv::Mat_< _Tp >::operator() | ( | const Range & | rowRange, |
const Range & | colRange | ||
) | const |
Mat_ cv::Mat_< _Tp >::operator() | ( | const std::vector< Range > & | ranges | ) | const |
_Tp & cv::Mat_< _Tp >::operator() | ( | const Vec< int, n > & | idx | ) |
returns reference to the specified element
const _Tp & cv::Mat_< _Tp >::operator() | ( | const Vec< int, n > & | idx | ) | const |
returns read-only reference to the specified element
returns reference to the specified element (1D case)
returns read-only reference to the specified element (1D case)
returns reference to the specified element (3D case)
const _Tp & cv::Mat_< _Tp >::operator() | ( | int | idx0, |
int | idx1, | ||
int | idx2 | ||
) | const |
returns read-only reference to the specified element (3D case)
returns reference to the specified element (2D case)
returns read-only reference to the specified element (2D case)
set all the elements to s.
assign a matrix expression
more convenient forms of row and element access operators
std::reverse_iterator< const_iterator > cv::Mat_< _Tp >::rbegin | ( | ) | const |
equivalent to Mat::release()
std::reverse_iterator< const_iterator > cv::Mat_< _Tp >::rend | ( | ) | const |
overridden forms of Mat::row() etc.
|
static |
|
static |
overridden forms of Mat::zeros() etc. Data type is omitted, of course