Smart pointer for GPU memory with reference counting. Its interface is mostly similar with cv::Mat. More...
#include <gpumat.hpp>
Public Member Functions | |
| GpuMat () | |
| default constructor | |
| GpuMat (int rows, int cols, int type) | |
| constructs GpuMatrix of the specified size and type (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.) | |
| GpuMat (Size size, int type) | |
| GpuMat (int rows, int cols, int type, Scalar s) | |
| constucts GpuMatrix and fills it with the specified value _s. | |
| GpuMat (Size size, int type, Scalar s) | |
| GpuMat (const GpuMat &m) | |
| copy constructor | |
| GpuMat (int rows, int cols, int type, void *data, size_t step=Mat::AUTO_STEP) | |
| constructor for GpuMatrix headers pointing to user-allocated data | |
| GpuMat (Size size, int type, void *data, size_t step=Mat::AUTO_STEP) | |
| GpuMat (const GpuMat &m, Range rowRange, Range colRange) | |
| creates a matrix header for a part of the bigger matrix | |
| GpuMat (const GpuMat &m, Rect roi) | |
| GpuMat (const Mat &m) | |
| builds GpuMat from Mat. Perfom blocking upload to device. | |
| ~GpuMat () | |
| destructor - calls release() | |
| GpuMat & | operator= (const GpuMat &m) |
| assignment operators | |
| void | upload (const Mat &m) |
| pefroms blocking upload data to GpuMat. | |
| void | download (Mat &m) const |
| downloads data from device to host memory. Blocking calls. | |
| GpuMat | row (int y) const |
| returns a new GpuMatrix header for the specified row | |
| GpuMat | col (int x) const |
| returns a new GpuMatrix header for the specified column | |
| GpuMat | rowRange (int startrow, int endrow) const |
| ... for the specified row span | |
| GpuMat | rowRange (Range r) const |
| GpuMat | colRange (int startcol, int endcol) const |
| ... for the specified column span | |
| GpuMat | colRange (Range r) const |
| GpuMat | clone () const |
| returns deep copy of the GpuMatrix, i.e. the data is copied | |
| void | copyTo (GpuMat &m) const |
| copies the GpuMatrix content to "m". | |
| void | copyTo (GpuMat &m, const GpuMat &mask) const |
| copies those GpuMatrix elements to "m" that are marked with non-zero mask elements. | |
| void | convertTo (GpuMat &m, int rtype, double alpha=1, double beta=0) const |
| converts GpuMatrix to another datatype with optional scalng. See cvConvertScale. | |
| void | assignTo (GpuMat &m, int type=-1) const |
| GpuMat & | operator= (Scalar s) |
| sets every GpuMatrix element to s | |
| GpuMat & | setTo (Scalar s, const GpuMat &mask=GpuMat()) |
| sets some of the GpuMatrix elements to s, according to the mask | |
| GpuMat | reshape (int cn, int rows=0) const |
| creates alternative GpuMatrix header for the same data, with different | |
| void | create (int rows, int cols, int type) |
| allocates new GpuMatrix data unless the GpuMatrix already has specified size and type. | |
| void | create (Size size, int type) |
| void | release () |
| decreases reference counter; | |
| void | swap (GpuMat &mat) |
| swaps with other smart pointer | |
| void | locateROI (Size &wholeSize, Point &ofs) const |
| locates GpuMatrix header within a parent GpuMatrix. See below | |
| GpuMat & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
| moves/resizes the current GpuMatrix ROI inside the parent GpuMatrix. | |
| GpuMat | operator() (Range rowRange, Range colRange) const |
| extracts a rectangular sub-GpuMatrix | |
| GpuMat | operator() (Rect roi) const |
| bool | isContinuous () const |
| returns true iff the GpuMatrix data is continuous | |
| size_t | elemSize () const |
| returns element size in bytes, | |
| size_t | elemSize1 () const |
| returns the size of element channel in bytes. | |
| int | type () const |
| returns element type, similar to CV_MAT_TYPE(cvMat->type) | |
| int | depth () const |
| returns element type, similar to CV_MAT_DEPTH(cvMat->type) | |
| int | channels () const |
| returns element type, similar to CV_MAT_CN(cvMat->type) | |
| size_t | step1 () const |
| returns step/elemSize1() | |
| Size | size () const |
| returns GpuMatrix size: | |
| bool | empty () const |
| returns true if GpuMatrix data is NULL | |
| uchar * | ptr (int y=0) |
| returns pointer to y-th row | |
| const uchar * | ptr (int y=0) const |
| template<typename _Tp > | |
| _Tp * | ptr (int y=0) |
| template version of the above method | |
| template<typename _Tp > | |
| const _Tp * | ptr (int y=0) const |
| template<typename _Tp > | |
| operator PtrStepSz< _Tp > () const | |
| template<typename _Tp > | |
| operator PtrStep< _Tp > () const | |
| template<typename _Tp > | |
| __CV_GPU_DEPR_BEFORE__ | operator DevMem2D_< _Tp > () const __CV_GPU_DEPR_AFTER__ |
| template<typename _Tp > | |
| __CV_GPU_DEPR_BEFORE__ | operator PtrStep_< _Tp > () const __CV_GPU_DEPR_AFTER__ |
Public Attributes | |
| int | flags |
| includes several bit-fields: | |
| int | rows |
| the number of rows and columns | |
| int | cols |
| size_t | step |
| a distance between successive rows in bytes; includes the gap if any | |
| uchar * | data |
| pointer to the data | |
| int * | refcount |
| pointer to the reference counter; | |
| uchar * | datastart |
| helper fields used in locateROI and adjustROI | |
| uchar * | dataend |
Smart pointer for GPU memory with reference counting. Its interface is mostly similar with cv::Mat.
default constructor
| cv::gpu::GpuMat::GpuMat | ( | int | rows, |
| int | cols, | ||
| int | type | ||
| ) |
constructs GpuMatrix of the specified size and type (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.)
| cv::gpu::GpuMat::GpuMat | ( | Size | size, |
| int | type | ||
| ) |
| cv::gpu::GpuMat::GpuMat | ( | int | rows, |
| int | cols, | ||
| int | type, | ||
| Scalar | s | ||
| ) |
constucts GpuMatrix and fills it with the specified value _s.
| cv::gpu::GpuMat::GpuMat | ( | Size | size, |
| int | type, | ||
| Scalar | s | ||
| ) |
| cv::gpu::GpuMat::GpuMat | ( | const GpuMat & | m | ) |
copy constructor
| cv::gpu::GpuMat::GpuMat | ( | int | rows, |
| int | cols, | ||
| int | type, | ||
| void * | data, | ||
| size_t | step = Mat::AUTO_STEP |
||
| ) |
constructor for GpuMatrix headers pointing to user-allocated data
| cv::gpu::GpuMat::GpuMat | ( | Size | size, |
| int | type, | ||
| void * | data, | ||
| size_t | step = Mat::AUTO_STEP |
||
| ) |
| cv::gpu::GpuMat::GpuMat | ( | const GpuMat & | m, |
| Range | rowRange, | ||
| Range | colRange | ||
| ) |
creates a matrix header for a part of the bigger matrix
| cv::gpu::GpuMat::GpuMat | ( | const GpuMat & | m, |
| Rect | roi | ||
| ) |
| cv::gpu::GpuMat::GpuMat | ( | const Mat & | m | ) | [explicit] |
destructor - calls release()
| void cv::gpu::GpuMat::upload | ( | const Mat & | m | ) |
pefroms blocking upload data to GpuMat.
| void cv::gpu::GpuMat::download | ( | Mat & | m | ) | const |
downloads data from device to host memory. Blocking calls.
| GpuMat cv::gpu::GpuMat::row | ( | int | y | ) | const |
returns a new GpuMatrix header for the specified row
| GpuMat cv::gpu::GpuMat::col | ( | int | x | ) | const |
returns a new GpuMatrix header for the specified column
| GpuMat cv::gpu::GpuMat::rowRange | ( | int | startrow, |
| int | endrow | ||
| ) | const |
... for the specified row span
| GpuMat cv::gpu::GpuMat::rowRange | ( | Range | r | ) | const |
| GpuMat cv::gpu::GpuMat::colRange | ( | int | startcol, |
| int | endcol | ||
| ) | const |
... for the specified column span
| GpuMat cv::gpu::GpuMat::colRange | ( | Range | r | ) | const |
| GpuMat cv::gpu::GpuMat::clone | ( | ) | const |
returns deep copy of the GpuMatrix, i.e. the data is copied
| void cv::gpu::GpuMat::copyTo | ( | GpuMat & | m | ) | const |
copies the GpuMatrix content to "m".
| void cv::gpu::GpuMat::copyTo | ( | GpuMat & | m, |
| const GpuMat & | mask | ||
| ) | const |
copies those GpuMatrix elements to "m" that are marked with non-zero mask elements.
| void cv::gpu::GpuMat::convertTo | ( | GpuMat & | m, |
| int | rtype, | ||
| double | alpha = 1, |
||
| double | beta = 0 |
||
| ) | const |
converts GpuMatrix to another datatype with optional scalng. See cvConvertScale.
| void cv::gpu::GpuMat::assignTo | ( | GpuMat & | m, |
| int | type = -1 |
||
| ) | const |
| GpuMat& cv::gpu::GpuMat::setTo | ( | Scalar | s, |
| const GpuMat & | mask = GpuMat() |
||
| ) |
sets some of the GpuMatrix elements to s, according to the mask
| GpuMat cv::gpu::GpuMat::reshape | ( | int | cn, |
| int | rows = 0 |
||
| ) | const |
creates alternative GpuMatrix header for the same data, with different
| void cv::gpu::GpuMat::create | ( | int | rows, |
| int | cols, | ||
| int | type | ||
| ) |
allocates new GpuMatrix data unless the GpuMatrix already has specified size and type.
| void cv::gpu::GpuMat::create | ( | Size | size, |
| int | type | ||
| ) |
decreases reference counter;
| void cv::gpu::GpuMat::swap | ( | GpuMat & | mat | ) |
swaps with other smart pointer
| void cv::gpu::GpuMat::locateROI | ( | Size & | wholeSize, |
| Point & | ofs | ||
| ) | const |
locates GpuMatrix header within a parent GpuMatrix. See below
| GpuMat& cv::gpu::GpuMat::adjustROI | ( | int | dtop, |
| int | dbottom, | ||
| int | dleft, | ||
| int | dright | ||
| ) |
moves/resizes the current GpuMatrix ROI inside the parent GpuMatrix.
extracts a rectangular sub-GpuMatrix
| bool cv::gpu::GpuMat::isContinuous | ( | ) | const |
returns true iff the GpuMatrix data is continuous
| size_t cv::gpu::GpuMat::elemSize | ( | ) | const |
returns element size in bytes,
| size_t cv::gpu::GpuMat::elemSize1 | ( | ) | const |
returns the size of element channel in bytes.
| int cv::gpu::GpuMat::type | ( | ) | const |
returns element type, similar to CV_MAT_TYPE(cvMat->type)
| int cv::gpu::GpuMat::depth | ( | ) | const |
returns element type, similar to CV_MAT_DEPTH(cvMat->type)
| int cv::gpu::GpuMat::channels | ( | ) | const |
returns element type, similar to CV_MAT_CN(cvMat->type)
| size_t cv::gpu::GpuMat::step1 | ( | ) | const |
returns step/elemSize1()
| Size cv::gpu::GpuMat::size | ( | ) | const |
returns GpuMatrix size:
| bool cv::gpu::GpuMat::empty | ( | ) | const |
returns true if GpuMatrix data is NULL
| uchar * cv::gpu::GpuMat::ptr | ( | int | y = 0 | ) |
returns pointer to y-th row
| const uchar * cv::gpu::GpuMat::ptr | ( | int | y = 0 | ) | const |
| _Tp* cv::gpu::GpuMat::ptr | ( | int | y = 0 | ) |
template version of the above method
| const _Tp* cv::gpu::GpuMat::ptr | ( | int | y = 0 | ) | const |
| cv::gpu::GpuMat::operator PtrStepSz< _Tp > | ( | ) | const |
| cv::gpu::GpuMat::operator PtrStep< _Tp > | ( | ) | const |
| __CV_GPU_DEPR_BEFORE__ cv::gpu::GpuMat::operator DevMem2D_< _Tp > | ( | ) | const |
| __CV_GPU_DEPR_BEFORE__ cv::gpu::GpuMat::operator PtrStep_< _Tp > | ( | ) | const |
includes several bit-fields:
the number of rows and columns
| size_t cv::gpu::GpuMat::step |
a distance between successive rows in bytes; includes the gap if any
pointer to the data
pointer to the reference counter;
helper fields used in locateROI and adjustROI