OpenCV  2.4.13
Open Source Computer Vision
cv::gpu::GpuMat Class Reference

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 More...
 
 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.) More...
 
 GpuMat (Size size, int type)
 
 GpuMat (int rows, int cols, int type, Scalar s)
 constucts GpuMatrix and fills it with the specified value _s. More...
 
 GpuMat (Size size, int type, Scalar s)
 
 GpuMat (const GpuMat &m)
 copy constructor More...
 
 GpuMat (int rows, int cols, int type, void *data, size_t step=Mat::AUTO_STEP)
 constructor for GpuMatrix 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 matrix header for a part of the bigger matrix More...
 
 GpuMat (const GpuMat &m, Rect roi)
 
 GpuMat (const Mat &m)
 builds GpuMat from Mat. Perfom blocking upload to device. More...
 
 ~GpuMat ()
 destructor - calls release() More...
 
GpuMatoperator= (const GpuMat &m)
 assignment operators More...
 
void upload (const Mat &m)
 pefroms blocking upload data to GpuMat. More...
 
void download (Mat &m) const
 downloads data from device to host memory. Blocking calls. More...
 
GpuMat row (int y) const
 returns a new GpuMatrix header for the specified row More...
 
GpuMat col (int x) const
 returns a new GpuMatrix header for the specified column More...
 
GpuMat rowRange (int startrow, int endrow) const
 ... for the specified row span More...
 
GpuMat rowRange (Range r) const
 
GpuMat colRange (int startcol, int endcol) const
 ... for the specified column span More...
 
GpuMat colRange (Range r) const
 
GpuMat clone () const
 returns deep copy of the GpuMatrix, i.e. the data is copied More...
 
void copyTo (GpuMat &m) const
 copies the GpuMatrix content to "m". More...
 
void copyTo (GpuMat &m, const GpuMat &mask) const
 copies those GpuMatrix elements to "m" that are marked with non-zero mask elements. More...
 
void convertTo (GpuMat &m, int rtype, double alpha=1, double beta=0) const
 converts GpuMatrix to another datatype with optional scalng. See cvConvertScale. More...
 
void assignTo (GpuMat &m, int type=-1) const
 
GpuMatoperator= (Scalar s)
 sets every GpuMatrix element to s More...
 
GpuMatsetTo (Scalar s, const GpuMat &mask=GpuMat())
 sets some of the GpuMatrix elements to s, according to the mask More...
 
GpuMat reshape (int cn, int rows=0) const
 creates alternative GpuMatrix header for the same data, with different More...
 
void create (int rows, int cols, int type)
 allocates new GpuMatrix data unless the GpuMatrix already has specified size and type. More...
 
void create (Size size, int type)
 
void release ()
 decreases reference counter; More...
 
void swap (GpuMat &mat)
 swaps with other smart pointer More...
 
void locateROI (Size &wholeSize, Point &ofs) const
 locates GpuMatrix header within a parent GpuMatrix. See below More...
 
GpuMatadjustROI (int dtop, int dbottom, int dleft, int dright)
 moves/resizes the current GpuMatrix ROI inside the parent GpuMatrix. More...
 
GpuMat operator() (Range rowRange, Range colRange) const
 extracts a rectangular sub-GpuMatrix More...
 
GpuMat operator() (Rect roi) const
 
bool isContinuous () const
 returns true iff the GpuMatrix data is continuous More...
 
size_t elemSize () const
 returns element size in bytes, More...
 
size_t elemSize1 () const
 returns the size of element channel in bytes. More...
 
int type () const
 returns element type, similar to CV_MAT_TYPE(cvMat->type) More...
 
int depth () const
 returns element type, similar to CV_MAT_DEPTH(cvMat->type) More...
 
int channels () const
 returns element type, similar to CV_MAT_CN(cvMat->type) More...
 
size_t step1 () const
 returns step/elemSize1() More...
 
Size size () const
 returns GpuMatrix size: More...
 
bool empty () const
 returns true if GpuMatrix data is NULL More...
 
ucharptr (int y=0)
 returns pointer to y-th row More...
 
const ucharptr (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
 
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
 
int rows
 the number of rows and columns More...
 
int cols
 
size_t step
 a distance between successive rows in bytes; includes the gap if any More...
 
uchardata
 pointer to the data More...
 
intrefcount
 pointer to the reference counter; More...
 
uchardatastart
 helper fields used in locateROI and adjustROI More...
 
uchardataend
 

Detailed Description

Smart pointer for GPU memory with reference counting. Its interface is mostly similar with cv::Mat.

Constructor & Destructor Documentation

cv::gpu::GpuMat::GpuMat ( )
inline

default constructor

cv::gpu::GpuMat::GpuMat ( int  rows,
int  cols,
int  type 
)
inline

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 
)
inline
cv::gpu::GpuMat::GpuMat ( int  rows,
int  cols,
int  type,
Scalar  s 
)
inline

constucts GpuMatrix and fills it with the specified value _s.

cv::gpu::GpuMat::GpuMat ( Size  size,
int  type,
Scalar  s 
)
inline
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

builds GpuMat from Mat. Perfom blocking upload to device.

cv::gpu::GpuMat::~GpuMat ( )
inline

destructor - calls release()

Member Function Documentation

GpuMat& cv::gpu::GpuMat::adjustROI ( int  dtop,
int  dbottom,
int  dleft,
int  dright 
)

moves/resizes the current GpuMatrix ROI inside the parent GpuMatrix.

void cv::gpu::GpuMat::assignTo ( GpuMat m,
int  type = -1 
) const
inline
int cv::gpu::GpuMat::channels ( ) const
inline

returns element type, similar to CV_MAT_CN(cvMat->type)

GpuMat cv::gpu::GpuMat::clone ( ) const
inline

returns deep copy of the GpuMatrix, i.e. the data is copied

GpuMat cv::gpu::GpuMat::col ( int  x) const
inline

returns a new GpuMatrix header for the specified column

GpuMat cv::gpu::GpuMat::colRange ( int  startcol,
int  endcol 
) const
inline

... for the specified column span

GpuMat cv::gpu::GpuMat::colRange ( Range  r) const
inline
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::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::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 
)
inline
int cv::gpu::GpuMat::depth ( ) const
inline

returns element type, similar to CV_MAT_DEPTH(cvMat->type)

void cv::gpu::GpuMat::download ( Mat m) const

downloads data from device to host memory. Blocking calls.

size_t cv::gpu::GpuMat::elemSize ( ) const
inline

returns element size in bytes,

size_t cv::gpu::GpuMat::elemSize1 ( ) const
inline

returns the size of element channel in bytes.

bool cv::gpu::GpuMat::empty ( ) const
inline

returns true if GpuMatrix data is NULL

bool cv::gpu::GpuMat::isContinuous ( ) const
inline

returns true iff the GpuMatrix data is continuous

void cv::gpu::GpuMat::locateROI ( Size wholeSize,
Point ofs 
) const

locates GpuMatrix header within a parent GpuMatrix. See below

template<typename _Tp >
__CV_GPU_DEPR_BEFORE__ cv::gpu::GpuMat::operator DevMem2D_< _Tp > ( ) const
template<typename _Tp >
cv::gpu::GpuMat::operator PtrStep< _Tp > ( ) const
template<typename _Tp >
__CV_GPU_DEPR_BEFORE__ cv::gpu::GpuMat::operator PtrStep_< _Tp > ( ) const
template<typename _Tp >
cv::gpu::GpuMat::operator PtrStepSz< _Tp > ( ) const
GpuMat cv::gpu::GpuMat::operator() ( Range  rowRange,
Range  colRange 
) const
inline

extracts a rectangular sub-GpuMatrix

GpuMat cv::gpu::GpuMat::operator() ( Rect  roi) const
inline
GpuMat& cv::gpu::GpuMat::operator= ( const GpuMat m)

assignment operators

GpuMat & cv::gpu::GpuMat::operator= ( Scalar  s)
inline

sets every GpuMatrix element to s

uchar * cv::gpu::GpuMat::ptr ( int  y = 0)
inline

returns pointer to y-th row

const uchar * cv::gpu::GpuMat::ptr ( int  y = 0) const
inline
template<typename _Tp >
_Tp * cv::gpu::GpuMat::ptr ( int  y = 0)
inline

template version of the above method

template<typename _Tp >
const _Tp * cv::gpu::GpuMat::ptr ( int  y = 0) const
inline
void cv::gpu::GpuMat::release ( )

decreases reference counter;

GpuMat cv::gpu::GpuMat::reshape ( int  cn,
int  rows = 0 
) const

creates alternative GpuMatrix header for the same data, with different

GpuMat cv::gpu::GpuMat::row ( int  y) const
inline

returns a new GpuMatrix header for the specified row

GpuMat cv::gpu::GpuMat::rowRange ( int  startrow,
int  endrow 
) const
inline

... for the specified row span

GpuMat cv::gpu::GpuMat::rowRange ( Range  r) const
inline
GpuMat& cv::gpu::GpuMat::setTo ( Scalar  s,
const GpuMat mask = GpuMat() 
)

sets some of the GpuMatrix elements to s, according to the mask

Size cv::gpu::GpuMat::size ( ) const
inline

returns GpuMatrix size:

size_t cv::gpu::GpuMat::step1 ( ) const
inline

returns step/elemSize1()

void cv::gpu::GpuMat::swap ( GpuMat mat)

swaps with other smart pointer

int cv::gpu::GpuMat::type ( ) const
inline

returns element type, similar to CV_MAT_TYPE(cvMat->type)

void cv::gpu::GpuMat::upload ( const Mat m)

pefroms blocking upload data to GpuMat.

Member Data Documentation

int cv::gpu::GpuMat::cols
uchar* cv::gpu::GpuMat::data

pointer to the data

uchar* cv::gpu::GpuMat::dataend
uchar* cv::gpu::GpuMat::datastart

helper fields used in locateROI and adjustROI

int cv::gpu::GpuMat::flags

includes several bit-fields:

  • the magic signature
  • continuity flag
  • depth
  • number of channels
int* cv::gpu::GpuMat::refcount

pointer to the reference counter;

int cv::gpu::GpuMat::rows

the number of rows and columns

size_t cv::gpu::GpuMat::step

a distance between successive rows in bytes; includes the gap if any


The documentation for this class was generated from the following file: