OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
没有匹配项
| 枚举 | 函数
cv::cann 命名空间参考

类  AscendEvent
 AscendEvent 用于不同流之间的同步。 更多...
 
结构体  AscendEventAccessor
 cann::AscendEvent 获取 aclrtAscendEvent 的类。 更多...
 
类  AscendMat
 
结构体  AscendPicDesc
 
类  AscendStream
 In AscendCL Stream(AscendStream) 是一个任务队列。Stream 用于管理任务并行性。Stream 内部的任务按顺序执行,即Stream根据发送的任务按顺序执行;不同Stream中的任务并行执行。 更多...
 
结构体  AscendStreamAccessor
 cann::AscendStream 获取 aclrtAscendStream 的类。 更多...
 
结构体  AscendTensor
 call_call 接口的参数类型。 更多...
 
类  DvppOperatorDesc
 调用 DVPP 操作符描述符的接口。此处的所有 DVPP VPC 接口都是 v2 版本。支持的设备:Atlas Inference 系列产品、Atlas 200/500 A2 Inference 产品和 Atlas A2 Training 系列产品/Atlas 300I A2 Inference 产品。 更多...
 
类  OperatorRunner
 CANN 包中调用算子的接口。 更多...
 

枚举

枚举  InterpolationFlags {
  INTER_NEAREST = 0 ,
  INTER_LINEAR = 1 ,
  INTER_CUBIC = 2 ,
  INTER_AREA = 3 ,
  INTER_MAX = 7
}
 插值算法 更多...
 

函数

void aclrtFreeWarpper (void *data)
 
void aclrtMallocWarpper (void **data, size_t size)
 
void aclrtMemcpy2dWarpper (std::shared_ptr< uchar > &dst, size_t offset, size_t dpitch, const void *src, size_t spitch, size_t width, size_t length, AscendStream &stream)
 
void aclrtMemcpy2dWarpper (void *dst, size_t dpitch, const std::shared_ptr< uchar > &src, size_t offset, size_t spitch, size_t width, size_t length, AscendStream &stream)
 
void aclrtMemcpyWarpper (std::shared_ptr< uchar > &dst, size_t dstOffset, const std::shared_ptr< uchar > &src, size_t srcOffset, size_t size, AscendStream &stream)
 
void aclrtMemcpyWarpper (std::shared_ptr< uchar > &dst, size_t offset, const void *src, size_t size, AscendStream &stream)
 
void aclrtMemcpyWarpper (void *dst, const std::shared_ptr< uchar > &src, size_t offset, size_t size, AscendStream &stream)
 
void aclrtMemsetWarpper (std::shared_ptr< uchar > &ptr, int32_t value, size_t count, AscendStream &stream)
 
void add (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void add (const AscendMat &src1, const Scalar &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void add (const InputArray src1, const InputArray src2, OutputArray dst, const InputArray mask=noArray(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 计算矩阵矩阵或矩阵标量之和。
 
void add (const Scalar &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void addWeighted (const AscendMat &src1, double alpha, const AscendMat &src2, double beta, double gamma, AscendMat &dst, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void addWeighted (const InputArray src1, double alpha, const InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1, AscendStream &stream=AscendStream::Null())
 计算两个数组的加权平均值。
 
void arithm_op (const AscendMat &src, AscendMat &dst, const char *op, AscendStream &stream)
 
void arithm_op (const AscendMat &src, const Scalar &sc, AscendMat &dst, const char *op, AscendStream &stream)
 
void arithm_op (const AscendMat &src, float scalar, AscendMat &dst, const char *op, AscendStream &stream)
 
void arithm_op (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, const char *op, AscendStream &stream)
 
void arithm_op (const Scalar &sc, const AscendMat &src, AscendMat &dst, const char *op, AscendStream &stream)
 
void bitwise_and (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_and (const AscendMat &src1, const Scalar &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_and (const InputArray src1, const InputArray src2, OutputArray dst, const InputArray mask=noArray(), AscendStream &stream=AscendStream::Null())
 对两个矩阵(或矩阵和标量)的每个元素执行逐元素位与操作。
 
void bitwise_and (const Scalar &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_not (const AscendMat &src, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_not (const InputArray src, OutputArray dst, const noArray(),AscendStream &stream=AscendStream::Null())
 执行每个元素的位反转。
 
void bitwise_or (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_or (const AscendMat &src1, const Scalar &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_or (const InputArray src1, const InputArray src2, OutputArray dst, const noArray(),AscendStream &stream=AscendStream::Null())
 对两个矩阵(或矩阵和标量)执行按元素的位或运算。
 
void bitwise_or (const Scalar &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_xor (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_xor (const AscendMat &src1, const Scalar &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void bitwise_xor (const InputArray src1, const InputArray src2, OutputArray dst, const InputArray mask=noArray(), AscendStream &stream=AscendStream::Null())
 执行两个矩阵(或矩阵和标量)的逐元素按位异或操作。
 
void bitwise_xor (const Scalar &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), AscendStream &stream=AscendStream::Null())
 
void checkAclError (aclError err, const char *file, const int line, const char *func)
 
void checkAclPtr (void *ptr, const char *file, const int line, const char *func)
 
void copyMakeBorder (const AscendMat &src, AscendMat &dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar())
 
void copyMakeBorder (const InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar())
 在输入图像的副本周围形成边界,并用指定的边框类型填充。
 
void crop (const AscendMat &src, AscendMat &dst, const AscendMat &sizeSrcNpu, int64_t *offset, AscendStream &stream)
 
AscendMat crop (const AscendMat &src, const &rect, AscendStream &stream=AscendStream::Null)
 
AscendMat crop ( src, const &rect, AscendStream &stream=AscendStream::Null)
 裁剪一个二维数组。该函数通过给定的 裁剪矩阵。输出矩阵必须与输入矩阵具有相同的深度,大小由给定的矩形大小指定。
 
void cropResize (const AscendMat &src, AscendMat &dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation)
 
void cropResize (const InputArray src, OutputArray dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation)
 从大图中裁剪子图像,并调整其大小。
 
void cropResizeMakeBorder (const AscendMat &src, AscendMat &dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation, int top, int left, const int borderType, Scalar value=Scalar())
 
void cropResizeMakeBorder (const InputArray src, OutputArray dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation, int top, int left, const int borderType, Scalar value=Scalar())
 从大图中裁剪子图像,调整其大小,并形成顶部/左侧边界,并用指定的边界类型填充。
 
void cvtColor (const AscendMat &src, AscendMat &dst, int code, int dstCn=0, AscendStream &stream=AscendStream::Null())
 
void cvtColor (const InputArray src, OutputArray dst, int code, int dstCn=0, AscendStream &stream=AscendStream::Null())
 将图像从一种颜色空间转换为另一种颜色空间。
 
void divide (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void divide (const AscendMat &src1, const Scalar &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void divide (const InputArray src1, const InputArray src2, OutputArray dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null()
 计算矩阵-矩阵或矩阵-标量的除法。
 
void divide (const AscendMat &src1, const Scalar &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null()
 
void finalizeAcl ()
 finalize AscendCL.
 
void finalizeDvpp ()
 finalize DVPP系统。
 
void flip (const AscendMat &src, AscendMat &dst, int flipCode, AscendStream &stream=AscendStream::Null())
 
void flip (const AscendMat &src, std::vector< int32_t > &asixs, AscendMat &dst, AscendStream &stream)
 
void flip (InputArray src, OutputArray dst, int flipCode, AscendStream &stream=AscendStream::Null())
 围绕垂直、水平或两个轴线翻转2D矩阵。
 
aclDataType getACLType (int opencvdepth)
 opencv与cann之间的类型映射。
 
int32_t getDevice ()
 获取当前Ascend设备。
 
AscendMat getInputMat (InputArray src, AscendStream &stream)
 从输入数组获取Ascend矩阵对象,如果需要则上传矩阵内存。(非阻塞调用)
 
AscendMat getOutputMat (OutputArray dst, int rows, int cols, int type, AscendStream &stream)
 从输出数组获取Ascend矩阵对象,如果需要则上传矩阵内存。
 
void initAcl ()
 init AscendCL。
 
void initDvpp ()
 init DVPP系统。
 
template<typename KERNEL_TYPE , typename TILING_TYPE , typename... ARGS>
void kernel_launch (KERNEL_TYPE kernel, AscendStream &stream, TILING_TYPE &tiling, ARGS... args)
 
std::shared_ptr< ucharmallocAndUpload (const void *data, size_t size, AscendStream &stream, AscendMat::Allocator *allocator)
 分配内存并将原始数据上传到设备。
 
void merge (const AscendMat *src, size_t n, AscendMat &dst, AscendStream &stream=AscendStream::Null())
 将几个单通道矩阵合并成一个多通道矩阵。
 
void merge (const AscendMat *src, size_t n, OutputArray &dst, AscendStream &stream=AscendStream::Null())
 
void merge (const std::vector< AscendMat > &src, AscendMat &dst, AscendStream &stream=AscendStream::Null())
 
void merge (const std::vector< AscendMat > &src, OutputArray &dst, AscendStream &stream=AscendStream::Null())
 
void multiply (const AscendMat &src1, const AscendMat &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void multiply (const AscendMat &src1, const Scalar &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void multiply (const InputArray src1, const InputArray src2, OutputArray dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 计算矩阵-矩阵或矩阵-标量的逐元素乘积。
 
void multiply (const Scalar &src1, const AscendMat &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void resetDevice ()
 清除当前Ascend设备创建的所有上下文。
 
void resize (const AscendMat &src, AscendMat &dst, int32_t *dstSize, int interpolation, AscendStream &stream)
 
void resize (const AscendMat &src, AscendMat &dst, Size dsize, double fx, double fy, int interpolation, AscendStream &stream=AscendStream::Null()))
 
void resize (InputArray src, OutputArray dst, Size dsize, double fx, double fy, int interpolation, AscendStream &stream=AscendStream::Null()))
 将图像 src 调整为指定大小。
 
void rotate (const AscendMat &src, AscendMat &dst, int rotateMode, AscendStream &stream=AscendStream::Null()))
 
void rotate (InputArray src, OutputArray dst, int rotateCode, AscendStream &stream=AscendStream::Null()))
 以 90 度的倍数旋转 2D 数组。函数 cv::rotate 可以以三种不同的方式旋转数组:顺时针旋转 90 度(rotateCode = ROTATE_90_CLOCKWISE)。顺时针旋转 180 度(rotateCode = ROTATE_180)。顺时针旋转 270 度(rotateCode = ROTATE_90_COUNTERCLOCKWISE)。
 
void setDevice (int device)
 选择 Ascend npu 设备。
 
void split (const AscendMat &src, AscendMat *dst, AscendStream &stream=AscendStream::Null()))
 将多通道矩阵的每一层复制到一个数组中。
 
void split (const AscendMat &src, std::vector< AscendMat > &dst, AscendStream &stream=AscendStream::Null()))
 
void split (const InputArray src, AscendMat *dst, AscendStream &stream=AscendStream::Null()))
 
void split (const InputArray src, std::vector< AscendMat > &dst, AscendStream &stream=AscendStream::Null()))
 
void subtract(const AscendMat &src1, const AscendMat &src2, const AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, const AscendStream &stream=AscendStream::Null())
 
void subtract(const AscendMat &src1, const Scalar &src2, const AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, const AscendStream &stream=AscendStream::Null())
 
void subtract(const InputArray src1, const InputArray src2, const OutputArray dst, const InputArray mask=noArray(), int dtype=-1, const AscendStream &stream=AscendStream::Null())
 计算矩阵-矩阵或矩阵-标量的差值。
 
void subtract(const Scalar &src1, const AscendMat &src2, const AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, const AscendStream &stream=AscendStream::Null())
 
void syncOutput(const AscendMat &dst, OutputArray _dst, AscendStream &stream)
 同步输出矩阵到输出数组,如果需要则下载矩阵内存。
 
doublethreshold(const AscendMat &src, const AscendMat &dst, double thresh, double maxval, int type, const AscendStream &stream=AscendStream::Null())
 
doublethreshold(const InputArray src, OutputArray dst, double thresh, double maxval, int type, const AscendStream &stream=AscendStream::Null())
 应用固定级别阈值到每个数组元素。
 
void transData(const AscendMat &src, const AscendMat &dst, const char *from, const char *to, const AscendStream &stream)
 
void transpose(const AscendMat &src, const AscendMat &dst, const AscendStream &stream=AscendStream::Null())
 
void transpose (const AscendMat &src, int64_t *perm, AscendMat &dst, AscendStream &stream)
 
void transpose (InputArray src, OutputArray dst, AscendStream &stream=AscendStream::Null())
 转置矩阵。
 
void vpcCopyMakeBorderWarpper (hi_vpc_chn chnId, hi_vpc_pic_info &inPic, hi_vpc_pic_info &outPic, uint32_t *taskID, int *offsets, int bordertype, Scalar value)
 
void vpcCropResizeMakeBorderWarpper (hi_vpc_chn chnId, std::vector< AscendPicDesc > &inPicDesc, std::vector< AscendPicDesc > &outPicDesc, int cnt, uint32_t *taskID, const Rect &rect, Size dsize, int interpolation, const int borderType, Scalar scalarV, int top, int left)
 
void vpcCropResizeWarpper (hi_vpc_chn chnId, hi_vpc_pic_info &inPic, hi_vpc_pic_info &outPic, int cnt, uint32_t *taskID, const Rect &rect, Size dsize, int interpolation)
 
void vpcResizeWarpper (hi_vpc_chn chnId, hi_vpc_pic_info &inPic, hi_vpc_pic_info &outPic, int interpolation, uint32_t *taskID)
 
AscendStream wrapStream (size_t AscendStreamAddress)
 将现有CANN运行时API流指针(aclrtStream)中存储的地址绑定到Stream对象。
 

函数文档

◆ aclrtFreeWarpper()

void cv::cann::aclrtFreeWarpper ( void *  data)

◆ aclrtMallocWarpper()

void cv::cann::aclrtMallocWarpper ( void **  data,
size_t  size 
)

◆ aclrtMemcpy2dWarpper() [1/2]

void cv::cann::aclrtMemcpy2dWarpper ( std::shared_ptr< uchar >   dst,
size_t  offset,
size_t  dpitch,
const void *  src,
size_t  spitch,
size_t  width,
size_t  length,
AscendStream stream 
)

◆ aclrtMemcpy2dWarpper() [2/2]

void cv::cann::aclrtMemcpy2dWarpper ( void *  dst,
size_t  dpitch,
const std::shared_ptr< uchar >   src,
size_t  offset,
size_t  spitch,
size_t  width,
size_t  length,
AscendStream stream 
)

◆ aclrtMemcpyWarpper() [1/3]

void cv::cann::aclrtMemcpyWarpper ( std::shared_ptr< uchar >   dst,
size_t  dstOffset,
const std::shared_ptr< uchar >   src,
size_t  srcOffset,
size_t  size,
AscendStream stream 
)

◆ aclrtMemcpyWarpper() [2/3]

void cv::cann::aclrtMemcpyWarpper ( std::shared_ptr< uchar >   dst,
size_t  offset,
const void *  src,
size_t  size,
AscendStream stream 
)

◆ aclrtMemcpyWarpper() [3/3]

void cv::cann::aclrtMemcpyWarpper ( void *  dst,
const std::shared_ptr< uchar >   src,
size_t  offset,
size_t  size,
AscendStream stream 
)

◆ aclrtMemsetWarpper()

void cv::cann::aclrtMemsetWarpper ( std::shared_ptr< uchar >   ptr,
int32_t  value,
size_t  count,
AscendStream stream 
)

◆ arithm_op() [1/5]

void cv::cann::arithm_op ( const AscendMat src,
AscendMat dst,
const char *  op,
AscendStream stream 
)

◆ arithm_op() [2/5]

void cv::cann::arithm_op ( const AscendMat src,
const Scalar sc,
AscendMat dst,
const char *  op,
AscendStream stream 
)

◆ arithm_op() [3/5]

void cv::cann::arithm_op ( const AscendMat src,
float  scalar,
AscendMat dst,
const char *  op,
AscendStream stream 
)

◆ arithm_op() [4/5]

void cv::cann::arithm_op ( const AscendMat src1,
const AscendMat src2,
AscendMat dst,
const char *  op,
AscendStream stream 
)

◆ arithm_op() [5/5]

void cv::cann::arithm_op ( const Scalar sc,
const AscendMat src,
AscendMat dst,
const char *  op,
AscendStream stream 
)

◆ checkAclError()

void cv::cann::checkAclError ( aclError  err,
const char *  file,
const int  line,
const char *  func 
)

◆ checkAclPtr()

void cv::cann::checkAclPtr ( void *  ptr,
const char *  file,
const int  line,
const char *  func 
)

◆ crop()

void cv::cann::crop ( const AscendMat src,
AscendMat dst,
const AscendMat sizeSrcNpu,
int64_t *  offset,
AscendStream stream 
)

◆ flip()

void cv::cann::flip ( const AscendMat src,
std::vector< int32_t > &  asixs,
AscendMat dst,
AscendStream stream 
)

◆ getACLType()

aclDataType cv::cann::getACLType ( int  opencvdepth)

opencv与cann之间的类型映射。

◆ kernel_launch()

template<typename KERNEL_TYPE , typename TILING_TYPE , typename... ARGS>
void cv::cann::kernel_launch ( KERNEL_TYPE  kernel,
AscendStream stream,
TILING_TYPE &  tiling,
ARGS...  args 
)
此函数的调用图如下

◆ mallocAndUpload()

std::shared_ptr< uchar > cv::cann::mallocAndUpload ( const void *  data,
size_t  size,
AscendStream stream,
AscendMat::Allocator allocator 
)

分配内存并将原始数据上传到设备。

◆ resize()

void cv::cann::resize ( const AscendMat src,
AscendMat dst,
int32_t *  dstSize,
int  interpolation,
AscendStream stream 
)

◆ transData()

void cv::cann::transData ( const AscendMat src,
AscendMat dst,
const char *  from,
const char *  to,
AscendStream stream 
)

◆ transpose()

void cv::cann::transpose ( const AscendMat src,
int64_t *  perm,
AscendMat dst,
AscendStream stream 
)

◆ vpcCopyMakeBorderWarpper()

void cv::cann::vpcCopyMakeBorderWarpper ( hi_vpc_chn  chnId,
hi_vpc_pic_info &  inPic,
hi_vpc_pic_info &  outPic,
uint32_t *  taskID,
int *  offsets,
int  bordertype,
Scalar  value 
)

◆ vpcCropResizeMakeBorderWarpper()

void cv::cann::vpcCropResizeMakeBorderWarpper ( hi_vpc_chn  chnId,
std::vector< AscendPicDesc > &  inPicDesc,
std::vector< AscendPicDesc > &  outPicDesc,
int  cnt,
uint32_t *  taskID,
const Rect rect,
Size  dsize,
int  interpolation,
const int  borderType,
Scalar  scalarV,
int  top,
int  left 
)

◆ vpcCropResizeWarpper()

void cv::cann::vpcCropResizeWarpper ( hi_vpc_chn  chnId,
hi_vpc_pic_info &  inPic,
hi_vpc_pic_info &  outPic,
int  cnt,
uint32_t *  taskID,
const Rect rect,
Size  dsize,
int  interpolation 
)

◆ vpcResizeWarpper()

void cv::cann::vpcResizeWarpper ( hi_vpc_chn  chnId,
hi_vpc_pic_info &  inPic,
hi_vpc_pic_info &  outPic,
int  interpolation,
uint32_t *  taskID 
)
inline