opencv2/cann.hpp#

#include <opencv2/core.hpp>
#include <opencv2/cann.inl.hpp>

Include dependency graph for cann.hpp:

opencv2/cann.hpp Node1 opencv2/cann.hpp Node2 opencv2/core.hpp Node1->Node2 Node52 opencv2/cann.inl.hpp Node1->Node52 Node3 opencv2/core/cvdef.h Node2->Node3 Node10 opencv2/core/base.hpp Node2->Node10 Node14 opencv2/core/cvstd.hpp Node2->Node14 Node30 opencv2/core/traits.hpp Node2->Node30 Node31 opencv2/core/matx.hpp Node2->Node31 Node36 opencv2/core/types.hpp Node2->Node36 Node39 opencv2/core/mat.hpp Node2->Node39 Node43 opencv2/core/persistence.hpp Node2->Node43 Node44 opencv2/core/operations.hpp Node2->Node44 Node47 opencv2/core/cvstd.inl.hpp Node2->Node47 Node48 opencv2/core/utility.hpp Node2->Node48 Node51 opencv2/core/optim.hpp Node2->Node51 Node4 opencv2/core/version.hpp Node3->Node4 Node5 limits Node3->Node5 Node6 opencv2/core/hal/interface.h Node3->Node6 Node8 cstdint Node3->Node8 Node9 cv_cpu_dispatch.h Node3->Node9 Node7 cstddef Node6->Node7 Node6->Node8 Node10->Node3 Node11 opencv2/opencv_modules.hpp Node10->Node11 Node12 climits Node10->Node12 Node13 algorithm Node10->Node13 Node10->Node14 Node24 opencv2/core/fwddecl.hpp Node10->Node24 Node25 opencv2/core/neon_utils.hpp Node10->Node25 Node26 opencv2/core/vsx_utils.hpp Node10->Node26 Node28 opencv2/core/exception.hpp Node10->Node28 Node29 opencv2/core/check.hpp Node10->Node29 Node14->Node3 Node14->Node7 Node14->Node13 Node15 cstring Node14->Node15 Node16 cctype Node14->Node16 Node17 string Node14->Node17 Node18 utility Node14->Node18 Node19 cstdlib Node14->Node19 Node20 cmath Node14->Node20 Node21 cvstd_wrapper.hpp Node14->Node21 Node21->Node3 Node21->Node17 Node22 memory Node21->Node22 Node23 type_traits Node21->Node23 Node24->Node3 Node25->Node3 Node26->Node3 Node27 assert.h Node26->Node27 Node28->Node3 Node28->Node14 Node29->Node3 Node29->Node14 Node29->Node24 Node30->Node3 Node31->Node3 Node31->Node10 Node31->Node30 Node32 opencv2/core/saturate.hpp Node31->Node32 Node34 initializer_list Node31->Node34 Node35 opencv2/core/matx.inl.hpp Node31->Node35 Node32->Node3 Node32->Node12 Node33 opencv2/core/fast_math.hpp Node32->Node33 Node33->Node3 Node33->Node20 Node36->Node3 Node36->Node5 Node36->Node12 Node36->Node14 Node36->Node31 Node37 cfloat Node36->Node37 Node38 vector Node36->Node38 Node39->Node23 Node39->Node31 Node39->Node36 Node40 opencv2/core/bufferpool.hpp Node39->Node40 Node41 array Node39->Node41 Node42 opencv2/core/mat.inl.hpp Node39->Node42 Node43->Node36 Node43->Node39 Node45 cstdio Node44->Node45 Node46 ostream Node44->Node46 Node48->Node2 Node48->Node46 Node49 functional Node48->Node49 Node50 mutex Node48->Node50 Node51->Node2

opencv2/cann.hpp Node1 opencv2/cann.hpp Node2 opencv2/core.hpp Node1->Node2 Node52 opencv2/cann.inl.hpp Node1->Node52 Node3 opencv2/core/cvdef.h Node2->Node3 Node10 opencv2/core/base.hpp Node2->Node10 Node14 opencv2/core/cvstd.hpp Node2->Node14 Node30 opencv2/core/traits.hpp Node2->Node30 Node31 opencv2/core/matx.hpp Node2->Node31 Node36 opencv2/core/types.hpp Node2->Node36 Node39 opencv2/core/mat.hpp Node2->Node39 Node43 opencv2/core/persistence.hpp Node2->Node43 Node44 opencv2/core/operations.hpp Node2->Node44 Node47 opencv2/core/cvstd.inl.hpp Node2->Node47 Node48 opencv2/core/utility.hpp Node2->Node48 Node51 opencv2/core/optim.hpp Node2->Node51 Node4 opencv2/core/version.hpp Node3->Node4 Node5 limits Node3->Node5 Node6 opencv2/core/hal/interface.h Node3->Node6 Node8 cstdint Node3->Node8 Node9 cv_cpu_dispatch.h Node3->Node9 Node7 cstddef Node6->Node7 Node6->Node8 Node10->Node3 Node11 opencv2/opencv_modules.hpp Node10->Node11 Node12 climits Node10->Node12 Node13 algorithm Node10->Node13 Node10->Node14 Node24 opencv2/core/fwddecl.hpp Node10->Node24 Node25 opencv2/core/neon_utils.hpp Node10->Node25 Node26 opencv2/core/vsx_utils.hpp Node10->Node26 Node28 opencv2/core/exception.hpp Node10->Node28 Node29 opencv2/core/check.hpp Node10->Node29 Node14->Node3 Node14->Node7 Node14->Node13 Node15 cstring Node14->Node15 Node16 cctype Node14->Node16 Node17 string Node14->Node17 Node18 utility Node14->Node18 Node19 cstdlib Node14->Node19 Node20 cmath Node14->Node20 Node21 cvstd_wrapper.hpp Node14->Node21 Node21->Node3 Node21->Node17 Node22 memory Node21->Node22 Node23 type_traits Node21->Node23 Node24->Node3 Node25->Node3 Node26->Node3 Node27 assert.h Node26->Node27 Node28->Node3 Node28->Node14 Node29->Node3 Node29->Node14 Node29->Node24 Node30->Node3 Node31->Node3 Node31->Node10 Node31->Node30 Node32 opencv2/core/saturate.hpp Node31->Node32 Node34 initializer_list Node31->Node34 Node35 opencv2/core/matx.inl.hpp Node31->Node35 Node32->Node3 Node32->Node12 Node33 opencv2/core/fast_math.hpp Node32->Node33 Node33->Node3 Node33->Node20 Node36->Node3 Node36->Node5 Node36->Node12 Node36->Node14 Node36->Node31 Node37 cfloat Node36->Node37 Node38 vector Node36->Node38 Node39->Node23 Node39->Node31 Node39->Node36 Node40 opencv2/core/bufferpool.hpp Node39->Node40 Node41 array Node39->Node41 Node42 opencv2/core/mat.inl.hpp Node39->Node42 Node43->Node36 Node43->Node39 Node45 cstdio Node44->Node45 Node46 ostream Node44->Node46 Node48->Node2 Node48->Node46 Node49 functional Node48->Node49 Node50 mutex Node48->Node50 Node51->Node2

This graph shows which files directly or indirectly include cann.hpp:

incby n218315a52f opencv2/cann.hpp nd808ce26f0 opencv2/cann_call.hpp nd808ce26f0->n218315a52f n6c1c794ef5 opencv2/stream_accessor.hpp nd808ce26f0->n6c1c794ef5 nbfb9180404 opencv2/cann_interface.hpp nbfb9180404->n218315a52f nca25975b09 opencv2/cann_private.hpp nca25975b09->n218315a52f n5832be5b4b opencv2/dvpp_call.hpp n5832be5b4b->nd808ce26f0 n6c1c794ef5->n218315a52f

incby n218315a52f opencv2/cann.hpp nd808ce26f0 opencv2/cann_call.hpp nd808ce26f0->n218315a52f n6c1c794ef5 opencv2/stream_accessor.hpp nd808ce26f0->n6c1c794ef5 nbfb9180404 opencv2/cann_interface.hpp nbfb9180404->n218315a52f nca25975b09 opencv2/cann_private.hpp nca25975b09->n218315a52f n5832be5b4b opencv2/dvpp_call.hpp n5832be5b4b->nd808ce26f0 n6c1c794ef5->n218315a52f

Classes#

class cv::cann::AscendMat::Allocator
class cv::cann::AscendEvent

AscendEvent to synchronize between different streams. More…

class cv::cann::AscendMat
class cv::cann::AscendStream

In AscendCL Stream(AscendStream) is a task queue. Stream is used to manage the parallelism of tasks. The tasks inside a Stream are executed sequentially, that is, the Stream executes sequentially according to the sent tasks; the tasks in different Streams are executed in parallel. More…

Namespaces#

namespace cv
namespace cv::cann

Functions#

AscendStream cv::cann::wrapStream (size_t AscendStreamAddress)

Bindings overload to create a Stream object from the address stored in an existing CANN Runtime API stream pointer (aclrtStream).

void cv::cann::finalizeAcl ()

finalize AscendCL.

void cv::cann::finalizeDvpp ()

finalize DVPP system.

int32_t cv::cann::getDevice ()

Get current Ascend device.

AscendMat cv::cann::getInputMat (InputArray src, AscendStream &stream)

Get Ascend matrix object from Input array, upload matrix memory if need. (Non-Blocking call)

AscendMat cv::cann::getOutputMat (OutputArray dst, int rows, int cols, int type, AscendStream &stream)

Get Ascend matrix object from Output array, upload matrix memory if need.

void cv::cann::initAcl ()

init AscendCL.

void cv::cann::initDvpp ()

init DVPP system.

void cv::cann::resetDevice ()

Clear all context created in current Ascend device.

void cv::cann::setDevice (int device)

Choose Ascend npu device.

void cv::cann::syncOutput (const AscendMat &dst, OutputArray _dst, AscendStream &stream)

Sync output matrix to Output array, download matrix memory if need.