OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::cann 名稱空間參考

類  AscendEvent
 AscendEvent 用於在不同流之間同步。 更多...
 
結構體  AscendEventAccessor
 該類使能從 cann::AscendEvent 獲取 aclrtAscendEvent。 更多...
 
類  AscendMat
 
結構體  AscendPicDesc
 
類  AscendStream
 在 AscendCL 中,流(AscendStream)是一個任務佇列。流用於管理任務的並行性。流內的任務按順序執行,即流根據傳送的任務順序執行;不同流中的任務並行執行。 更多...
 
結構體  AscendStreamAccessor
 該類使能從 cann::AscendStream 獲取 aclrtAscendStream。 更多...
 
結構體  AscendTensor
 call_call 介面的引數型別。 更多...
 
類  DvppOperatorDesc
 呼叫 DVPP 運算子描述符的介面。這裡的 DVPP VPC 介面都是 v2 版本。支援的裝置:Atlas 推理系列產品、Atlas 200/500 A2 推理產品和 Atlas A2 訓練系列產品/Atlas 300I A2 推理產品。 更多...
 
類  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 InputArray mask=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 InputArray mask=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 &rect, AscendStream &stream=AscendStream::Null())
 
AscendMat crop (InputArray src, const Rect &rect, AscendStream &stream=AscendStream::Null())
 裁剪二維陣列。該函式根據給定的 cv::Rect 裁剪矩陣。輸出矩陣必須與輸入矩陣具有相同的深度,大小由給定的矩形大小指定。
 
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 Scalar &src1, const AscendMat &src2, AscendMat &dst, float scale=1, int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void acl 終結化 ()
 終結化 AscendCL。
 
void dvpp 終結化 ()
 終結化 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())
 圍繞垂直、水平或兩個軸翻轉二維矩陣。
 
aclDataType getACLType (int opencvdepth)
 OpenCV 與 CANN 之間的型別對映。
 
int32_t 獲取裝置 ()
 獲取當前 Ascend 裝置。
 
AscendMat getInputMat (InputArray src, AscendStream &stream)
 從輸入陣列獲取 Ascend 矩陣物件,如果需要則上傳矩陣記憶體。(非阻塞呼叫)
 
AscendMat getOutputMat (OutputArray dst, int rows, int cols, int type, AscendStream &stream)
 從輸出陣列獲取 Ascend 矩陣物件,如果需要則上傳矩陣記憶體。
 
void acl 初始化 ()
 初始化 AscendCL。
 
void dvpp 初始化 ()
 初始化 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 重置裝置 ()
 清除當前 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 度的倍數。函式 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, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void subtract (const AscendMat &src1, const Scalar &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void subtract (const InputArray src1, const InputArray src2, OutputArray dst, const InputArray mask=noArray(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 計算矩陣-矩陣或矩陣-標量差。
 
void subtract (const Scalar &src1, const AscendMat &src2, AscendMat &dst, const AscendMat &mask=AscendMat(), int dtype=-1, AscendStream &stream=AscendStream::Null())
 
void syncOutput (const AscendMat &dst, OutputArray _dst, AscendStream &stream)
 將輸出矩陣同步到輸出陣列,如果需要則下載矩陣記憶體。
 
double threshold (const AscendMat &src, AscendMat &dst, double thresh, double maxval, int type, AscendStream &stream=AscendStream::Null())
 
double threshold (const InputArray src, OutputArray dst, double thresh, double maxval, int type, AscendStream &stream=AscendStream::Null())
 對每個陣列元素應用固定級別的閾值。
 
void transData (const AscendMat &src, AscendMat &dst, const char *from, const char *to, AscendStream &stream)
 
void transpose (const AscendMat &src, AscendMat &dst, 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 Runtime 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 繪製軸的長度,單位與tvec相同(通常為米)。,
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 繪製軸的長度,單位與tvec相同(通常為米)。,
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 ,
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 & ,
TILING_TYPE & tiling,
ARGS... args )
此函式的呼叫圖如下

◆ mallocAndUpload()

std::shared_ptr< uchar > cv::cann::mallocAndUpload ( const void * data,
size_t size,
AscendStream & ,
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  )

◆ 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