|  | OpenCV
    3.4.20-dev
    Open Source Computer Vision | 
Base storage class for GPU memory with reference counting. More...
#include <opencv2/core/cuda.hpp>
 
  
 | Classes | |
| class | Allocator | 
| Public Member Functions | |
| GpuMat (Allocator *allocator=defaultAllocator()) | |
| default constructor  More... | |
| GpuMat (int rows, int cols, int type, Allocator *allocator=defaultAllocator()) | |
| constructs GpuMat of the specified size and type  More... | |
| GpuMat (Size size, int type, Allocator *allocator=defaultAllocator()) | |
| GpuMat (int rows, int cols, int type, Scalar s, Allocator *allocator=defaultAllocator()) | |
| constructs GpuMat and fills it with the specified value _s  More... | |
| GpuMat (Size size, int type, Scalar s, Allocator *allocator=defaultAllocator()) | |
| GpuMat (const GpuMat &m) | |
| copy constructor  More... | |
| GpuMat (int rows, int cols, int type, void *data, size_t step=Mat::AUTO_STEP) | |
| constructor for GpuMat headers pointing to user-allocated data  More... | |
| GpuMat (Size size, int type, void *data, size_t step=Mat::AUTO_STEP) | |
| GpuMat (const GpuMat &m, Range rowRange, Range colRange) | |
| creates a GpuMat header for a part of the bigger matrix  More... | |
| GpuMat (const GpuMat &m, Rect roi) | |
| GpuMat (InputArray arr, Allocator *allocator=defaultAllocator()) | |
| builds GpuMat from host memory (Blocking call)  More... | |
| ~GpuMat () | |
| destructor - calls release()  More... | |
| GpuMat & | adjustROI (int dtop, int dbottom, int dleft, int dright) | 
| moves/resizes the current GpuMat ROI inside the parent GpuMat  More... | |
| void | assignTo (GpuMat &m, int type=-1) const | 
| int | channels () const | 
| returns number of channels  More... | |
| GpuMat | clone () const | 
| returns deep copy of the GpuMat, i.e. the data is copied  More... | |
| GpuMat | col (int x) const | 
| returns a new GpuMat header for the specified column  More... | |
| GpuMat | colRange (int startcol, int endcol) const | 
| ... for the specified column span  More... | |
| GpuMat | colRange (Range r) const | 
| void | convertTo (OutputArray dst, int rtype) const | 
| converts GpuMat to another datatype (Blocking call)  More... | |
| void | convertTo (OutputArray dst, int rtype, Stream &stream) const | 
| converts GpuMat to another datatype (Non-Blocking call)  More... | |
| void | convertTo (OutputArray dst, int rtype, double alpha, double beta=0.0) const | 
| converts GpuMat to another datatype with scaling (Blocking call)  More... | |
| void | convertTo (OutputArray dst, int rtype, double alpha, Stream &stream) const | 
| converts GpuMat to another datatype with scaling (Non-Blocking call)  More... | |
| void | convertTo (OutputArray dst, int rtype, double alpha, double beta, Stream &stream) const | 
| converts GpuMat to another datatype with scaling (Non-Blocking call)  More... | |
| void | copyTo (OutputArray dst) const | 
| copies the GpuMat content to device memory (Blocking call)  More... | |
| void | copyTo (OutputArray dst, Stream &stream) const | 
| copies the GpuMat content to device memory (Non-Blocking call)  More... | |
| void | copyTo (OutputArray dst, InputArray mask) const | 
| copies those GpuMat elements to "m" that are marked with non-zero mask elements (Blocking call)  More... | |
| void | copyTo (OutputArray dst, InputArray mask, Stream &stream) const | 
| copies those GpuMat elements to "m" that are marked with non-zero mask elements (Non-Blocking call)  More... | |
| void | create (int rows, int cols, int type) | 
| allocates new GpuMat data unless the GpuMat already has specified size and type  More... | |
| void | create (Size size, int type) | 
| int | depth () const | 
| returns element type  More... | |
| void | download (OutputArray dst) const | 
| Performs data download from GpuMat (Blocking call)  More... | |
| void | download (OutputArray dst, Stream &stream) const | 
| Performs data download from GpuMat (Non-Blocking call)  More... | |
| size_t | elemSize () const | 
| returns element size in bytes  More... | |
| size_t | elemSize1 () const | 
| returns the size of element channel in bytes  More... | |
| bool | empty () const | 
| returns true if GpuMat data is NULL  More... | |
| bool | isContinuous () const | 
| void | locateROI (Size &wholeSize, Point &ofs) const | 
| locates GpuMat header within a parent GpuMat  More... | |
| template<typename _Tp > | |
| operator PtrStep< _Tp > () const | |
| template<typename _Tp > | |
| operator PtrStepSz< _Tp > () const | |
| GpuMat | operator() (Range rowRange, Range colRange) const | 
| extracts a rectangular sub-GpuMat (this is a generalized form of row, rowRange etc.)  More... | |
| GpuMat | operator() (Rect roi) const | 
| GpuMat & | operator= (const GpuMat &m) | 
| assignment operators  More... | |
| uchar * | ptr (int y=0) | 
| returns pointer to y-th row  More... | |
| const uchar * | ptr (int y=0) const | 
| template<typename _Tp > | |
| _Tp * | ptr (int y=0) | 
| template version of the above method  More... | |
| template<typename _Tp > | |
| const _Tp * | ptr (int y=0) const | 
| void | release () | 
| decreases reference counter, deallocate the data when reference counter reaches 0  More... | |
| GpuMat | reshape (int cn, int rows=0) const | 
| GpuMat | row (int y) const | 
| returns a new GpuMat header for the specified row  More... | |
| GpuMat | rowRange (int startrow, int endrow) const | 
| ... for the specified row span  More... | |
| GpuMat | rowRange (Range r) const | 
| GpuMat & | setTo (Scalar s) | 
| sets some of the GpuMat elements to s (Blocking call)  More... | |
| GpuMat & | setTo (Scalar s, Stream &stream) | 
| sets some of the GpuMat elements to s (Non-Blocking call)  More... | |
| GpuMat & | setTo (Scalar s, InputArray mask) | 
| sets some of the GpuMat elements to s, according to the mask (Blocking call)  More... | |
| GpuMat & | setTo (Scalar s, InputArray mask, Stream &stream) | 
| sets some of the GpuMat elements to s, according to the mask (Non-Blocking call)  More... | |
| Size | size () const | 
| returns GpuMat size : width == number of columns, height == number of rows  More... | |
| size_t | step1 () const | 
| returns step/elemSize1()  More... | |
| void | swap (GpuMat &mat) | 
| swaps with other smart pointer  More... | |
| int | type () const | 
| returns element type  More... | |
| void | updateContinuityFlag () | 
| internal use method: updates the continuity flag  More... | |
| void | upload (InputArray arr) | 
| Performs data upload to GpuMat (Blocking call)  More... | |
| void | upload (InputArray arr, Stream &stream) | 
| Performs data upload to GpuMat (Non-Blocking call)  More... | |
| Static Public Member Functions | |
| static Allocator * | defaultAllocator () | 
| default allocator  More... | |
| static void | setDefaultAllocator (Allocator *allocator) | 
| Public Attributes | |
| Allocator * | allocator | 
| allocator  More... | |
| int | cols | 
| uchar * | data | 
| pointer to the data  More... | |
| const uchar * | dataend | 
| uchar * | datastart | 
| helper fields used in locateROI and adjustROI  More... | |
| int | flags | 
| int * | refcount | 
| int | rows | 
| the number of rows and columns  More... | |
| size_t | step | 
| a distance between successive rows in bytes; includes the gap if any  More... | |
Base storage class for GPU memory with reference counting.
Its interface matches the Mat interface with the following limitations:
Beware that the latter limitation may lead to overloaded matrix operators that cause memory allocations. The GpuMat class is convertible to cuda::PtrStepSz and cuda::PtrStep so it can be passed directly to the kernel.
Some member functions are described as a "Blocking Call" while some are described as a "Non-Blocking Call". Blocking functions are synchronous to host. It is guaranteed that the GPU operation is finished when the function returns. However, non-blocking functions are asynchronous to host. Those functions may return even if the GPU operation is not finished.
Compared to their blocking counterpart, non-blocking functions accept Stream as an additional argument. If a non-default stream is passed, the GPU operation may overlap with operations in other streams.
| 
 | explicit | 
default constructor
| cv::cuda::GpuMat::GpuMat | ( | int | rows, | 
| int | cols, | ||
| int | type, | ||
| Allocator * | allocator = defaultAllocator() | ||
| ) | 
constructs GpuMat of the specified size and type
| cv::cuda::GpuMat::GpuMat | ( | Size | size, | 
| int | type, | ||
| Allocator * | allocator = defaultAllocator() | ||
| ) | 
| cv::cuda::GpuMat::GpuMat | ( | int | rows, | 
| int | cols, | ||
| int | type, | ||
| Scalar | s, | ||
| Allocator * | allocator = defaultAllocator() | ||
| ) | 
constructs GpuMat and fills it with the specified value _s
| cv::cuda::GpuMat::GpuMat | ( | Size | size, | 
| int | type, | ||
| Scalar | s, | ||
| Allocator * | allocator = defaultAllocator() | ||
| ) | 
| cv::cuda::GpuMat::GpuMat | ( | const GpuMat & | m | ) | 
copy constructor
| cv::cuda::GpuMat::GpuMat | ( | int | rows, | 
| int | cols, | ||
| int | type, | ||
| void * | data, | ||
| size_t | step = Mat::AUTO_STEP | ||
| ) | 
constructor for GpuMat headers pointing to user-allocated data
| cv::cuda::GpuMat::GpuMat | ( | Size | size, | 
| int | type, | ||
| void * | data, | ||
| size_t | step = Mat::AUTO_STEP | ||
| ) | 
creates a GpuMat header for a part of the bigger matrix
| 
 | explicit | 
builds GpuMat from host memory (Blocking call)
| cv::cuda::GpuMat::~GpuMat | ( | ) | 
destructor - calls release()
| GpuMat& cv::cuda::GpuMat::adjustROI | ( | int | dtop, | 
| int | dbottom, | ||
| int | dleft, | ||
| int | dright | ||
| ) | 
| void cv::cuda::GpuMat::assignTo | ( | GpuMat & | m, | 
| int | type = -1 | ||
| ) | const | 
| int cv::cuda::GpuMat::channels | ( | ) | const | 
returns number of channels
| GpuMat cv::cuda::GpuMat::colRange | ( | int | startcol, | 
| int | endcol | ||
| ) | const | 
... for the specified column span
| void cv::cuda::GpuMat::convertTo | ( | OutputArray | dst, | 
| int | rtype | ||
| ) | const | 
converts GpuMat to another datatype (Blocking call)
| void cv::cuda::GpuMat::convertTo | ( | OutputArray | dst, | 
| int | rtype, | ||
| Stream & | stream | ||
| ) | const | 
converts GpuMat to another datatype (Non-Blocking call)
| void cv::cuda::GpuMat::convertTo | ( | OutputArray | dst, | 
| int | rtype, | ||
| double | alpha, | ||
| double | beta = 0.0 | ||
| ) | const | 
converts GpuMat to another datatype with scaling (Blocking call)
| void cv::cuda::GpuMat::convertTo | ( | OutputArray | dst, | 
| int | rtype, | ||
| double | alpha, | ||
| Stream & | stream | ||
| ) | const | 
converts GpuMat to another datatype with scaling (Non-Blocking call)
| void cv::cuda::GpuMat::convertTo | ( | OutputArray | dst, | 
| int | rtype, | ||
| double | alpha, | ||
| double | beta, | ||
| Stream & | stream | ||
| ) | const | 
converts GpuMat to another datatype with scaling (Non-Blocking call)
| void cv::cuda::GpuMat::copyTo | ( | OutputArray | dst | ) | const | 
copies the GpuMat content to device memory (Blocking call)
| void cv::cuda::GpuMat::copyTo | ( | OutputArray | dst, | 
| Stream & | stream | ||
| ) | const | 
copies the GpuMat content to device memory (Non-Blocking call)
| void cv::cuda::GpuMat::copyTo | ( | OutputArray | dst, | 
| InputArray | mask | ||
| ) | const | 
copies those GpuMat elements to "m" that are marked with non-zero mask elements (Blocking call)
| void cv::cuda::GpuMat::copyTo | ( | OutputArray | dst, | 
| InputArray | mask, | ||
| Stream & | stream | ||
| ) | const | 
copies those GpuMat elements to "m" that are marked with non-zero mask elements (Non-Blocking call)
| void cv::cuda::GpuMat::create | ( | int | rows, | 
| int | cols, | ||
| int | type | ||
| ) | 
| void cv::cuda::GpuMat::create | ( | Size | size, | 
| int | type | ||
| ) | 
| 
 | static | 
default allocator
| int cv::cuda::GpuMat::depth | ( | ) | const | 
returns element type
| void cv::cuda::GpuMat::download | ( | OutputArray | dst | ) | const | 
Performs data download from GpuMat (Blocking call)
This function copies data from device memory to host memory. As being a blocking call, it is guaranteed that the copy operation is finished when this function returns.
| void cv::cuda::GpuMat::download | ( | OutputArray | dst, | 
| Stream & | stream | ||
| ) | const | 
Performs data download from GpuMat (Non-Blocking call)
This function copies data from device memory to host memory. As being a non-blocking call, this function may return even if the copy operation is not finished.
The copy operation may be overlapped with operations in other non-default streams if stream is not the default stream and dst is HostMem allocated with HostMem::PAGE_LOCKED option. 
| size_t cv::cuda::GpuMat::elemSize | ( | ) | const | 
returns element size in bytes
| size_t cv::cuda::GpuMat::elemSize1 | ( | ) | const | 
returns the size of element channel in bytes
| bool cv::cuda::GpuMat::empty | ( | ) | const | 
returns true if GpuMat data is NULL
| bool cv::cuda::GpuMat::isContinuous | ( | ) | const | 
returns true iff the GpuMat data is continuous (i.e. when there are no gaps between successive rows)
| cv::cuda::GpuMat::operator PtrStep< _Tp > | ( | ) | const | 
| cv::cuda::GpuMat::operator PtrStepSz< _Tp > | ( | ) | const | 
extracts a rectangular sub-GpuMat (this is a generalized form of row, rowRange etc.)
| uchar* cv::cuda::GpuMat::ptr | ( | int | y = 0 | ) | 
returns pointer to y-th row
| const uchar* cv::cuda::GpuMat::ptr | ( | int | y = 0 | ) | const | 
| _Tp* cv::cuda::GpuMat::ptr | ( | int | y = 0 | ) | 
template version of the above method
| const _Tp* cv::cuda::GpuMat::ptr | ( | int | y = 0 | ) | const | 
| void cv::cuda::GpuMat::release | ( | ) | 
decreases reference counter, deallocate the data when reference counter reaches 0
| GpuMat cv::cuda::GpuMat::reshape | ( | int | cn, | 
| int | rows = 0 | ||
| ) | const | 
creates alternative GpuMat header for the same data, with different number of channels and/or different number of rows
| GpuMat cv::cuda::GpuMat::rowRange | ( | int | startrow, | 
| int | endrow | ||
| ) | const | 
... for the specified row span
| 
 | static | 
sets some of the GpuMat elements to s (Non-Blocking call)
| GpuMat& cv::cuda::GpuMat::setTo | ( | Scalar | s, | 
| InputArray | mask | ||
| ) | 
sets some of the GpuMat elements to s, according to the mask (Blocking call)
| GpuMat& cv::cuda::GpuMat::setTo | ( | Scalar | s, | 
| InputArray | mask, | ||
| Stream & | stream | ||
| ) | 
sets some of the GpuMat elements to s, according to the mask (Non-Blocking call)
| Size cv::cuda::GpuMat::size | ( | ) | const | 
returns GpuMat size : width == number of columns, height == number of rows
| size_t cv::cuda::GpuMat::step1 | ( | ) | const | 
returns step/elemSize1()
| void cv::cuda::GpuMat::swap | ( | GpuMat & | mat | ) | 
swaps with other smart pointer
| int cv::cuda::GpuMat::type | ( | ) | const | 
returns element type
| void cv::cuda::GpuMat::updateContinuityFlag | ( | ) | 
internal use method: updates the continuity flag
| void cv::cuda::GpuMat::upload | ( | InputArray | arr | ) | 
Performs data upload to GpuMat (Blocking call)
This function copies data from host memory to device memory. As being a blocking call, it is guaranteed that the copy operation is finished when this function returns.
| void cv::cuda::GpuMat::upload | ( | InputArray | arr, | 
| Stream & | stream | ||
| ) | 
Performs data upload to GpuMat (Non-Blocking call)
This function copies data from host memory to device memory. As being a non-blocking call, this function may return even if the copy operation is not finished.
The copy operation may be overlapped with operations in other non-default streams if stream is not the default stream and dst is HostMem allocated with HostMem::PAGE_LOCKED option. 
| Allocator* cv::cuda::GpuMat::allocator | 
allocator
| int cv::cuda::GpuMat::cols | 
| uchar* cv::cuda::GpuMat::data | 
pointer to the data
| const uchar* cv::cuda::GpuMat::dataend | 
| uchar* cv::cuda::GpuMat::datastart | 
helper fields used in locateROI and adjustROI
| int cv::cuda::GpuMat::flags | 
includes several bit-fields:
| int* cv::cuda::GpuMat::refcount | 
pointer to the reference counter; when GpuMat points to user-allocated data, the pointer is NULL
| int cv::cuda::GpuMat::rows | 
the number of rows and columns
| size_t cv::cuda::GpuMat::step | 
a distance between successive rows in bytes; includes the gap if any
 1.8.13
 1.8.13