@ -794,6 +794,13 @@ public:
*/
Mat ( int ndims , const int * sizes , int type ) ;
/** @overload
@ param sizes Array of integers specifying an n - dimensional array shape .
@ param type Array type . Use CV_8UC1 , . . . , CV_64FC4 to create 1 - 4 channel matrices , or
CV_8UC ( n ) , . . . , CV_64FC ( n ) to create multi - channel ( up to CV_CN_MAX channels ) matrices .
*/
Mat ( const std : : vector < int > & sizes , int type ) ;
/** @overload
@ param ndims Array dimensionality .
@ param sizes Array of integers specifying an n - dimensional array shape .
@ -805,6 +812,17 @@ public:
*/
Mat ( int ndims , const int * sizes , int type , const Scalar & s ) ;
/** @overload
@ param sizes Array of integers specifying an n - dimensional array shape .
@ param type Array type . Use CV_8UC1 , . . . , CV_64FC4 to create 1 - 4 channel matrices , or
CV_8UC ( n ) , . . . , CV_64FC ( n ) to create multi - channel ( up to CV_CN_MAX channels ) matrices .
@ param s An optional value to initialize each matrix element with . To set all the matrix elements to
the particular value after the construction , use the assignment operator
Mat : : operator = ( const Scalar & value ) .
*/
Mat ( const std : : vector < int > & sizes , int type , const Scalar & s ) ;
/** @overload
@ param m Array that ( as a whole or partly ) is assigned to the constructed matrix . No data is copied
by these constructors . Instead , the header pointing to m data or its sub - array is constructed and
@ -861,6 +879,20 @@ public:
*/
Mat ( int ndims , const int * sizes , int type , void * data , const size_t * steps = 0 ) ;
/** @overload
@ param sizes Array of integers specifying an n - dimensional array shape .
@ param type Array type . Use CV_8UC1 , . . . , CV_64FC4 to create 1 - 4 channel matrices , or
CV_8UC ( n ) , . . . , CV_64FC ( n ) to create multi - channel ( up to CV_CN_MAX channels ) matrices .
@ param data Pointer to the user data . Matrix constructors that take data and step parameters do not
allocate matrix data . Instead , they just initialize the matrix header that points to the specified
data , which means that no data is copied . This operation is very efficient and can be used to
process external data using OpenCV functions . The external data is not automatically deallocated , so
you should take care of it .
@ param steps Array of ndims - 1 steps in case of a multi - dimensional array ( the last step is always
set to the element size ) . If not specified , the matrix is assumed to be continuous .
*/
Mat ( const std : : vector < int > & sizes , int type , void * data , const size_t * steps = 0 ) ;
/** @overload
@ param m Array that ( as a whole or partly ) is assigned to the constructed matrix . No data is copied
by these constructors . Instead , the header pointing to m data or its sub - array is constructed and
@ -1328,6 +1360,12 @@ public:
*/
void create ( int ndims , const int * sizes , int type ) ;
/** @overload
@ param sizes Array of integers specifying a new array shape .
@ param type New matrix type .
*/
void create ( const std : : vector < int > & sizes , int type ) ;
/** @brief Increments the reference counter.
The method increments the reference counter associated with the matrix data . If the matrix header
@ -2273,6 +2311,7 @@ public:
void create ( int rows , int cols , int type , UMatUsageFlags usageFlags = USAGE_DEFAULT ) ;
void create ( Size size , int type , UMatUsageFlags usageFlags = USAGE_DEFAULT ) ;
void create ( int ndims , const int * sizes , int type , UMatUsageFlags usageFlags = USAGE_DEFAULT ) ;
void create ( const std : : vector < int > & sizes , int type , UMatUsageFlags usageFlags = USAGE_DEFAULT ) ;
//! increases the reference counter; use with care to avoid memleaks
void addref ( ) ;