OpenCV: cv::dnn::BackendWrapper Class Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Member Functions | Public Attributes | List of all members
cv::dnn::BackendWrapper Class Referenceabstract
Deep Neural Network module

Derivatives of this class wraps cv::Mat for different backends and targets. More...

`#include "dnn.hpp"`

## Public Member Functions
| BackendWrapper (int backendId, int targetId)
| BackendWrapper (int targetId, const cv::Mat &m)
| Wrap cv::Mat for specific backend and target. More...
| BackendWrapper (const Ptr< BackendWrapper > &base, const MatShape &shape)
| Make wrapper for reused cv::Mat. More...
virtual | ~BackendWrapper ()
| Virtual destructor to make polymorphism. More...
virtual void | copyToHost ()=0
| Transfer data to CPU host memory. More...
virtual void | setHostDirty ()=0
| Indicate that an actual data is on CPU. More...

## Public Attributes
int | backendId
| Backend identifier. More...
int | targetId
| Target identifier. More...

## Detailed Description

Derivatives of this class wraps cv::Mat for different backends and targets.

## Constructor & Destructor Documentation

## ◆ BackendWrapper() [1/3]

cv::dnn::BackendWrapper::BackendWrapper | ( | int | backendId,
|  | int | targetId
| ) |  |

## ◆ BackendWrapper() [2/3]

cv::dnn::BackendWrapper::BackendWrapper | ( | int | targetId,
|  | const cv::Mat & | m
| ) |  |

Wrap cv::Mat for specific backend and target.

Parameters

  [in] | targetId | Target identifier.
  [in] | m | cv::Mat for wrapping.

Make CPU->GPU data transfer if it's require for the target.

## ◆ BackendWrapper() [3/3]

cv::dnn::BackendWrapper::BackendWrapper | ( | const Ptr< BackendWrapper > & | base,
|  | const MatShape & | shape
| ) |  |

Make wrapper for reused cv::Mat.

Parameters

  [in] | base | Wrapper of cv::Mat that will be reused.
  [in] | shape | Specific shape.

Initialize wrapper from another one. It'll wrap the same host CPU memory and mustn't allocate memory on device(i.e. GPU). It might has different shape. Use in case of CPU memory reusing for reuse associated memory on device too.

## ◆ ~BackendWrapper()

virtual cv::dnn::BackendWrapper::~BackendWrapper | ( |  | ) |
| virtual

Virtual destructor to make polymorphism.

## Member Function Documentation

## ◆ copyToHost()

virtual void cv::dnn::BackendWrapper::copyToHost | ( |  | ) |
| pure virtual

Transfer data to CPU host memory.

## ◆ setHostDirty()

virtual void cv::dnn::BackendWrapper::setHostDirty | ( |  | ) |
| pure virtual

Indicate that an actual data is on CPU.

## Member Data Documentation

## ◆ backendId

int cv::dnn::BackendWrapper::backendId

Backend identifier.

## ◆ targetId

int cv::dnn::BackendWrapper::targetId

Target identifier.

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

- dnn/include/opencv2/dnn/dnn.hpp