OpenCV: Data Structures

| OpenCV 3.4.2 Open Source Computer Vision

Classes | Functions
Data Structures
Core functionality » OpenGL interoperability » CUDA-accelerated Computer Vision » Core part

## Classes
class | cv::cuda::BufferPool
| BufferPool for use with CUDA streams. More...
class | cv::cuda::Event
struct | cv::cuda::EventAccessor
| Class that enables getting cudaEvent_t from cuda::Event. More...
class | cv::cuda::GpuMat
| Base storage class for GPU memory with reference counting. More...
class | cv::cuda::HostMem
| Class with reference counting wrapping special memory type allocation functions from CUDA. More...
class | cv::cuda::Stream
| This class encapsulates a queue of asynchronous calls. More...
struct | cv::cuda::StreamAccessor
| Class that enables getting cudaStream_t from cuda::Stream. More...

## Functions
void | cv::cuda::createContinuous (int rows, int cols, int type, OutputArray arr)
| Creates a continuous matrix. More...
void | cv::cuda::ensureSizeIsEnough (int rows, int cols, int type, OutputArray arr)
| Ensures that the size of a matrix is big enough and the matrix has a proper type. More...
void | cv::cuda::registerPageLocked (Mat &m)
| Page-locks the memory of matrix and maps it for the device(s). More...
void | cv::cuda::setBufferPoolConfig (int deviceId, size_t stackSize, int stackCount)
void | cv::cuda::setBufferPoolUsage (bool on)
| BufferPool management (must be called before Stream creation) More...
void | cv::cuda::unregisterPageLocked (Mat &m)
| Unmaps the memory of matrix and makes it pageable again. More...

## Detailed Description

## Function Documentation

## ◆ createContinuous()

void cv::cuda::createContinuous | ( | int | rows,
|  | int | cols,
|  | int | type,
|  | OutputArray | arr
| ) |  |

Creates a continuous matrix.

Parameters

  rows | Row count.
  cols | Column count.
  type | Type of the matrix.
  arr | Destination matrix. This parameter changes only if it has a proper type and area ( \(\texttt{rows} \times \texttt{cols}\) ).

Matrix is called continuous if its elements are stored continuously, that is, without gaps at the end of each row.

## ◆ ensureSizeIsEnough()

void cv::cuda::ensureSizeIsEnough | ( | int | rows,
|  | int | cols,
|  | int | type,
|  | OutputArray | arr
| ) |  |

Ensures that the size of a matrix is big enough and the matrix has a proper type.

Parameters

  rows | Minimum desired number of rows.
  cols | Minimum desired number of columns.
  type | Desired matrix type.
  arr | Destination matrix.

The function does not reallocate memory if the matrix has proper attributes already.

## ◆ registerPageLocked()

void cv::cuda::registerPageLocked | ( | Mat & | m | ) |

Page-locks the memory of matrix and maps it for the device(s).

Parameters

  m | Input matrix.

## ◆ setBufferPoolConfig()

void cv::cuda::setBufferPoolConfig | ( | int | deviceId,
|  | size_t | stackSize,
|  | int | stackCount
| ) |  |

## ◆ setBufferPoolUsage()

void cv::cuda::setBufferPoolUsage | ( | bool | on | ) |

BufferPool management (must be called before Stream creation)

## ◆ unregisterPageLocked()

void cv::cuda::unregisterPageLocked | ( | Mat & | m | ) |

Unmaps the memory of matrix and makes it pageable again.

Parameters

  m | Input matrix.