OpenCV  4.9.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
cv::dnn::BackendWrapper Class Referenceabstract

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

#include <opencv2/dnn/dnn.hpp>

Collaboration diagram for cv::dnn::BackendWrapper:

Public Member Functions

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

Public Attributes

int backendId
 Backend identifier.
 
int targetId
 Target identifier.
 

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]targetIdTarget identifier.
[in]mcv::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]baseWrapper of cv::Mat that will be reused.
[in]shapeSpecific 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: