#include <opencv2/core/mat.hpp>
Public Types | |
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 | |
template<typename _Tp > | |
UMat (const std::vector< _Tp > &vec, bool copyData=false) | |
builds matrix from std::vector with or without copying the data | |
UMat (const UMat &m) | |
copy constructor | |
UMat (const UMat &m, const Range &rowRange, const Range &colRange=Range::all()) | |
creates a matrix header for a part of the bigger matrix | |
UMat (const UMat &m, const Range *ranges) | |
UMat (const UMat &m, const Rect &roi) | |
UMat (const UMat &m, const std::vector< Range > &ranges) | |
UMat (int ndims, const int *sizes, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
UMat (int ndims, const int *sizes, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
constructs n-dimensional matrix | |
UMat (int rows, int cols, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
constructs 2D matrix and fills it with the specified value _s. | |
UMat (int rows, int cols, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
constructs 2D matrix of the specified size and type | |
UMat (Size size, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
UMat (Size size, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) | |
UMat (UMat &&m) | |
UMat (UMatUsageFlags usageFlags=USAGE_DEFAULT) CV_NOEXCEPT | |
default constructor | |
~UMat () | |
destructor - calls release() | |
void | addref () |
increases the reference counter; use with care to avoid memleaks | |
UMat & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
moves/resizes the current matrix ROI inside the parent matrix. | |
void | assignTo (UMat &m, int type=-1) 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 | |
CV_NODISCARD_STD UMat | clone () const |
returns deep copy of the matrix, i.e. the data is copied | |
UMat | col (int x) const |
returns a new matrix header for the specified column | |
UMat | colRange (const Range &r) const |
UMat | colRange (int startcol, int endcol) const |
... for the specified column span | |
void | convertTo (OutputArray m, int rtype, double alpha=1, double beta=0) const |
converts matrix to another datatype with optional scaling. See cvConvertScale. | |
void | copySize (const UMat &m) |
internal use function; properly re-allocates _size, _step arrays | |
void | copyTo (OutputArray m) const |
copies the matrix content to "m". | |
void | copyTo (OutputArray m, InputArray mask) const |
copies those matrix elements to "m" that are marked with non-zero mask elements. | |
void | create (const std::vector< int > &sizes, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) |
void | create (int ndims, const int *sizes, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) |
void | create (int rows, int cols, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) |
allocates new matrix data unless the matrix already has specified size and type. | |
void | create (Size size, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT) |
void | deallocate () |
deallocates the matrix data | |
int | depth () const |
returns element type, similar to CV_MAT_DEPTH(cvmat->type) | |
UMat | diag (int d=0) const |
double | dot (InputArray 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 | |
Mat | getMat (AccessFlag flags) const |
void * | handle (AccessFlag accessFlags) const |
UMat | 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 | |
UMat | mul (InputArray m, double scale=1) const |
per-element matrix multiplication by means of matrix expressions | |
void | ndoffset (size_t *ofs) const |
UMat | operator() (const Range *ranges) const |
UMat | operator() (const Rect &roi) const |
UMat | operator() (const std::vector< Range > &ranges) const |
UMat | operator() (Range rowRange, Range colRange) const |
extracts a rectangular sub-matrix | |
UMat & | operator= (const Scalar &s) |
sets every matrix element to s | |
UMat & | operator= (const UMat &m) |
assignment operators | |
UMat & | operator= (UMat &&m) |
void | release () |
decreases reference counter; | |
UMat | reshape (int cn, int newndims, const int *newsz) const |
UMat | reshape (int cn, int rows=0) const |
creates alternative matrix header for the same data, with different | |
UMat | row (int y) const |
returns a new matrix header for the specified row | |
UMat | rowRange (const Range &r) const |
UMat | rowRange (int startrow, int endrow) const |
... for the specified row span | |
UMat & | setTo (InputArray value, InputArray mask=noArray()) |
sets some of the matrix elements to s, according to the mask | |
size_t | step1 (int i=0) const |
returns step/elemSize1() | |
UMat | 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) | |
void | updateContinuityFlag () |
internal use method: updates the continuity flag | |
Public Attributes | |
MatAllocator * | allocator |
custom allocator | |
int | cols |
number of columns in the matrix; -1 when the matrix has more than 2 dimensions | |
int | dims |
the matrix dimensionality, >= 2 | |
int | flags |
size_t | offset |
offset of the submatrix (or 0) | |
int | rows |
number of rows in the matrix; -1 when the matrix has more than 2 dimensions | |
MatSize | size |
dimensional size of the matrix; accessible in various formats | |
MatStep | step |
number of bytes each matrix element/row/plane/dimension occupies | |
UMatData * | u |
black-box container of UMat data | |
UMatUsageFlags | usageFlags |
usage flags for allocator; recommend do not set directly, instead set during construct/create/getUMat | |
Detailed Description
- Todo:
- document
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
Member Enumeration Documentation
◆ anonymous enum
◆ anonymous enum
Constructor & Destructor Documentation
◆ UMat() [1/14]
cv::UMat::UMat | ( | UMatUsageFlags | usageFlags = USAGE_DEFAULT | ) |
default constructor
◆ UMat() [2/14]
cv::UMat::UMat | ( | int | rows, |
int | cols, | ||
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
constructs 2D matrix of the specified size and type
◆ UMat() [3/14]
cv::UMat::UMat | ( | Size | size, |
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ UMat() [4/14]
cv::UMat::UMat | ( | int | rows, |
int | cols, | ||
int | type, | ||
const Scalar & | s, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
constructs 2D matrix and fills it with the specified value _s.
◆ UMat() [5/14]
cv::UMat::UMat | ( | Size | size, |
int | type, | ||
const Scalar & | s, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ UMat() [6/14]
cv::UMat::UMat | ( | int | ndims, |
const int * | sizes, | ||
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
constructs n-dimensional matrix
◆ UMat() [7/14]
cv::UMat::UMat | ( | int | ndims, |
const int * | sizes, | ||
int | type, | ||
const Scalar & | s, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ UMat() [8/14]
cv::UMat::UMat | ( | const UMat & | m | ) |
copy constructor
◆ UMat() [9/14]
cv::UMat::UMat | ( | const UMat & | m, |
const Range & | rowRange, | ||
const Range & | colRange = Range::all() |
||
) |
creates a matrix header for a part of the bigger matrix
◆ UMat() [10/14]
◆ UMat() [11/14]
◆ UMat() [12/14]
◆ UMat() [13/14]
|
explicit |
builds matrix from std::vector with or without copying the data
◆ ~UMat()
cv::UMat::~UMat | ( | ) |
destructor - calls release()
◆ UMat() [14/14]
cv::UMat::UMat | ( | UMat && | m | ) |
Member Function Documentation
◆ addref()
void cv::UMat::addref | ( | ) |
increases the reference counter; use with care to avoid memleaks
◆ adjustROI()
UMat & cv::UMat::adjustROI | ( | int | dtop, |
int | dbottom, | ||
int | dleft, | ||
int | dright | ||
) |
moves/resizes the current matrix ROI inside the parent matrix.
◆ assignTo()
void cv::UMat::assignTo | ( | UMat & | m, |
int | type = -1 |
||
) | const |
◆ channels()
int cv::UMat::channels | ( | ) | const |
returns element type, similar to CV_MAT_CN(cvmat->type)
◆ checkVector()
int cv::UMat::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
◆ clone()
CV_NODISCARD_STD UMat cv::UMat::clone | ( | ) | const |
returns deep copy of the matrix, i.e. the data is copied
◆ col()
UMat cv::UMat::col | ( | int | x | ) | const |
returns a new matrix header for the specified column
◆ colRange() [1/2]
◆ colRange() [2/2]
UMat cv::UMat::colRange | ( | int | startcol, |
int | endcol | ||
) | const |
... for the specified column span
◆ convertTo()
void cv::UMat::convertTo | ( | OutputArray | m, |
int | rtype, | ||
double | alpha = 1 , |
||
double | beta = 0 |
||
) | const |
converts matrix to another datatype with optional scaling. See cvConvertScale.
◆ copySize()
void cv::UMat::copySize | ( | const UMat & | m | ) |
internal use function; properly re-allocates _size, _step arrays
◆ copyTo() [1/2]
void cv::UMat::copyTo | ( | OutputArray | m | ) | const |
copies the matrix content to "m".
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
◆ copyTo() [2/2]
void cv::UMat::copyTo | ( | OutputArray | m, |
InputArray | mask | ||
) | const |
copies those matrix elements to "m" that are marked with non-zero mask elements.
◆ create() [1/4]
void cv::UMat::create | ( | const std::vector< int > & | sizes, |
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ create() [2/4]
void cv::UMat::create | ( | int | ndims, |
const int * | sizes, | ||
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ create() [3/4]
void cv::UMat::create | ( | int | rows, |
int | cols, | ||
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
allocates new matrix data unless the matrix already has specified size and type.
◆ create() [4/4]
void cv::UMat::create | ( | Size | size, |
int | type, | ||
UMatUsageFlags | usageFlags = USAGE_DEFAULT |
||
) |
◆ deallocate()
void cv::UMat::deallocate | ( | ) |
deallocates the matrix data
◆ depth()
int cv::UMat::depth | ( | ) | const |
returns element type, similar to CV_MAT_DEPTH(cvmat->type)
◆ diag() [1/3]
|
inlinestatic |
◆ diag() [2/3]
|
static |
constructs a square diagonal matrix which main diagonal is vector "d"
◆ diag() [3/3]
UMat cv::UMat::diag | ( | int | d = 0 | ) | const |
... for the specified diagonal (d=0 - the main diagonal, >0 - a diagonal from the upper half, <0 - a diagonal from the lower half)
◆ dot()
double cv::UMat::dot | ( | InputArray | m | ) | const |
computes dot-product
◆ elemSize()
size_t cv::UMat::elemSize | ( | ) | const |
returns element size in bytes,
◆ elemSize1()
size_t cv::UMat::elemSize1 | ( | ) | const |
returns the size of element channel in bytes.
◆ empty()
bool cv::UMat::empty | ( | ) | const |
returns true if matrix data is NULL
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
◆ eye() [1/4]
|
inlinestatic |
◆ eye() [2/4]
|
static |
◆ eye() [3/4]
|
inlinestatic |
◆ eye() [4/4]
|
static |
◆ getMat()
Mat cv::UMat::getMat | ( | AccessFlag | flags | ) | const |
- Examples
- samples/tapi/squares.cpp.
◆ getStdAllocator()
|
static |
and the standard allocator
◆ handle()
void * cv::UMat::handle | ( | AccessFlag | accessFlags | ) | const |
◆ inv()
◆ isContinuous()
bool cv::UMat::isContinuous | ( | ) | const |
returns true iff the matrix data is continuous
◆ isSubmatrix()
bool cv::UMat::isSubmatrix | ( | ) | const |
returns true if the matrix is a submatrix of another matrix
◆ locateROI()
locates matrix header within a parent matrix. See below
◆ mul()
UMat cv::UMat::mul | ( | InputArray | m, |
double | scale = 1 |
||
) | const |
per-element matrix multiplication by means of matrix expressions
◆ ndoffset()
void cv::UMat::ndoffset | ( | size_t * | ofs | ) | const |
◆ ones() [1/6]
|
inlinestatic |
◆ ones() [2/6]
|
static |
◆ ones() [3/6]
|
inlinestatic |
◆ ones() [4/6]
|
static |
◆ ones() [5/6]
|
inlinestatic |
◆ ones() [6/6]
|
static |
◆ operator()() [1/4]
◆ operator()() [2/4]
◆ operator()() [3/4]
◆ operator()() [4/4]
extracts a rectangular sub-matrix
◆ operator=() [1/3]
◆ operator=() [2/3]
◆ operator=() [3/3]
◆ release()
void cv::UMat::release | ( | ) |
decreases reference counter;
◆ reshape() [1/2]
UMat cv::UMat::reshape | ( | int | cn, |
int | newndims, | ||
const int * | newsz | ||
) | const |
◆ reshape() [2/2]
UMat cv::UMat::reshape | ( | int | cn, |
int | rows = 0 |
||
) | const |
creates alternative matrix header for the same data, with different
◆ row()
UMat cv::UMat::row | ( | int | y | ) | const |
returns a new matrix header for the specified row
◆ rowRange() [1/2]
◆ rowRange() [2/2]
UMat cv::UMat::rowRange | ( | int | startrow, |
int | endrow | ||
) | const |
... for the specified row span
◆ setTo()
UMat & cv::UMat::setTo | ( | InputArray | value, |
InputArray | mask = noArray() |
||
) |
sets some of the matrix elements to s, according to the mask
◆ step1()
size_t cv::UMat::step1 | ( | int | i = 0 | ) | const |
returns step/elemSize1()
◆ t()
UMat cv::UMat::t | ( | ) | const |
matrix transposition by means of matrix expressions
◆ total()
size_t cv::UMat::total | ( | ) | const |
returns the total number of matrix elements
◆ type()
int cv::UMat::type | ( | ) | const |
returns element type, similar to CV_MAT_TYPE(cvmat->type)
- Examples
- samples/tapi/squares.cpp.
◆ updateContinuityFlag()
void cv::UMat::updateContinuityFlag | ( | ) |
internal use method: updates the continuity flag
◆ zeros() [1/6]
|
inlinestatic |
◆ zeros() [2/6]
|
static |
◆ zeros() [3/6]
|
inlinestatic |
◆ zeros() [4/6]
|
static |
Matlab-style matrix initialization.
◆ zeros() [5/6]
|
inlinestatic |
◆ zeros() [6/6]
|
static |
Member Data Documentation
◆ allocator
MatAllocator* cv::UMat::allocator |
custom allocator
◆ cols
int cv::UMat::cols |
number of columns in the matrix; -1 when the matrix has more than 2 dimensions
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
◆ dims
int cv::UMat::dims |
the matrix dimensionality, >= 2
◆ flags
int cv::UMat::flags |
includes several bit-fields:
- the magic signature
- continuity flag
- depth
- number of channels
◆ offset
size_t cv::UMat::offset |
offset of the submatrix (or 0)
◆ rows
int cv::UMat::rows |
number of rows in the matrix; -1 when the matrix has more than 2 dimensions
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
◆ size
MatSize cv::UMat::size |
dimensional size of the matrix; accessible in various formats
- Examples
- samples/tapi/hog.cpp, and samples/tapi/squares.cpp.
◆ step
MatStep cv::UMat::step |
number of bytes each matrix element/row/plane/dimension occupies
◆ u
◆ usageFlags
UMatUsageFlags cv::UMat::usageFlags |
usage flags for allocator; recommend do not set directly, instead set during construct/create/getUMat
The documentation for this class was generated from the following file:
- opencv2/core/mat.hpp