OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配
枚举 | 函数

详细说明

枚举

enum  cv::cann::InterpolationFlags {
  cv::cann::INTER_NEAREST = 0 ,
  cv::cann::INTER_LINEAR = 1 ,
  cv::cann::INTER_CUBIC = 2 ,
  cv::cann::INTER_AREA = 3 ,
  cv::cann::INTER_MAX = 7
}
 插值算法 更多...
 

函数

void cv::cann::copyMakeBorder (const AscendMat &src, AscendMat &dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar())
 
void cv::cann::copyMakeBorder (const InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar())
 在输入图像的副本周围形成并填充指定的边框类型。
 
AscendMat cv::cann::crop (const AscendMat &src, const Rect &rect, AscendStream &stream=AscendStream::Null())
 
AscendMat cv::cann::crop (InputArray src, const Rect &rect, AscendStream &stream=AscendStream::Null())
 裁剪一个二维数组。该函数通过给定的 cv::Rect 裁剪矩阵。输出矩阵必须与输入矩阵具有相同的深度,大小由给定矩形大小指定。
 
void cv::cann::cropResize (const AscendMat &src, AscendMat &dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation)
 
void cv::cann::cropResize (const InputArray src, OutputArray dst, const Rect &rect, Size dsize, double fx, double fy, int interpolation)
 从大图像中裁剪子图像,并将其调整到特定大小。
 
void cv::cann::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 cv::cann::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 cv::cann::flip (const AscendMat &src, AscendMat &dst, int flipCode, AscendStream &stream=AscendStream::Null())
 
void cv::cann::flip (InputArray src, OutputArray dst, int flipCode, AscendStream &stream=AscendStream::Null())
 围绕垂直、水平或两者同时翻转2D矩阵。
 
void cv::cann::merge (const AscendMat *src, size_t n, AscendMat &dst, AscendStream &stream=AscendStream::Null())
 从多个单通道矩阵中创建一个多通道矩阵。
 
void cv::cann::merge (const AscendMat *src, size_t n, OutputArray &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::merge (const std::vector< AscendMat > &src, AscendMat &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::merge (const std::vector< AscendMat > &src, OutputArray &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::resize (const AscendMat &src, AscendMat &dst, Size dsize, double fx, double fy, int interpolation, AscendStream &stream=AscendStream::Null())
 
void cv::cann::resize (InputArray src, OutputArray dst, Size dsize, double fx, double fy, int interpolation, AscendStream &stream=AscendStream::Null())
 将图像src调整到指定大小或更小。
 
void cv::cann::rotate (const AscendMat &src, AscendMat &dst, int rotateMode, AscendStream &stream=AscendStream::Null())
 
void cv::cann::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 cv::cann::split (const AscendMat &src, AscendMat *dst, AscendStream &stream=AscendStream::Null())
 将多通道矩阵的每个平面复制到一个数组中。
 
void cv::cann::split (const AscendMat &src, std::vector< AscendMat > &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::split (const InputArray src, AscendMat *dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::split (const InputArray src, std::vector< AscendMat > &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::transpose (const AscendMat &src, AscendMat &dst, AscendStream &stream=AscendStream::Null())
 
void cv::cann::transpose (InputArray src, OutputArray dst, AscendStream &stream=AscendStream::Null())
 转置矩阵。
 

枚举类型文档

◆ InterpolationFlags

函数文档

◆ copyMakeBorder() [1/2]

void cv::cann::copyMakeBorder ( const AscendMat src,
AscendMat dst,
int  top,
int  bottom,
int  left,
int  right,
int  borderType,
const Scalar value = ]
)

◆ copyMakeBorder() [2/2]

void cv::cann::copyMakeBorder ( const InputArray  src,
OutputArray  dst,
int  top,
int  bottom,
int  left,
int  right,
int  borderType,
const Scalar value = ]
)

◆ crop() [1/2]

AscendMat cv::cann::crop ( const AscendMat src,
const Rect rect,
AscendStream stream = AscendStream::Null() 
)

◆ crop() [2/2]

AscendMat cv::cann::crop ( InputArray  src,
const Rect rect,
AscendStream stream = AscendStream::Null() 
)

#include <

裁剪一个二维数组。该函数通过给定的 cv::Rect 裁剪矩阵。输出矩阵必须与输入矩阵具有相同的深度,大小由给定矩形大小指定。

参数
src输入数组。
rect裁剪数组的矩形
streamAscendStream 异步版本。
参见
cv::gapi::crop

◆ cropResize() [1/2]

void cv::cann::cropResize ( const AscendMat src,
AscendMat dst,
const Rect rect,
Size  dsize,
double  fx,
double  fy,
int  interpolation 
)

◆ cropResize() [2/2]

void cv::cann::cropResize ( const InputArray  src,
OutputArray  dst,
const Rect rect,
Size  dsize,
double  fx,
double  fy,
int  interpolation 
)

◆ cropResizeMakeBorder() [1/2]

void cv::cann::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 = ]
)

◆ cropResizeMakeBorder() [2/2]

void cv::cann::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 = ]
)

◆ flip() [1/2]

void cv::cann::flip ( const AscendMat src,
AscendMat dst,
int  flipCode,
AscendStream stream = AscendStream::Null() 
)

◆ flip() [2/2]

void cv::cann::flip ( InputArray  src,
OutputArray  dst,
int  flipCode,
AscendStream stream = AscendStream::Null() 
)

◆ merge() [1/4]

void cv::cann::merge ( const AscendMat src,
size_t  n,
AscendMat dst,
AscendStream stream = AscendStream::Null() 
)

◆ merge() [2/4]

void cv::cann::merge ( const AscendMat src,
size_t  n,
OutputArray dst,
AscendStream stream = AscendStream::Null() 
)

◆ merge() [3/4]

void cv::cann::merge ( const std::vector< AscendMat > &  src,
AscendMat dst,
AscendStream stream = AscendStream::Null() 
)

◆ merge() [4/4]

void cv::cann::merge ( const std::vector< AscendMat > &  src,
OutputArray dst,
AscendStream stream = AscendStream::Null() 
)

◆ resize() [1/2]

void cv::cann::resize ( const AscendMat src,
AscendMat dst,
Size  dsize,
double  fx,
double  fy,
int  interpolation,
AscendStream stream = AscendStream::Null() 
)

◆ resize() [2/2]

void cv::cann::resize ( InputArray  src,
OutputArray  dst,
Size  dsize,
double  fx,
double  fy,
int  interpolation,
AscendStream stream = AscendStream::Null() 
)

#include <

将图像src调整到指定大小或更小。

参数
src输入图像
dst输出图像;其尺寸为dsize(当它非零时)或从src.size()、fx和fy计算得到的尺寸;dst的类型与src相同。
dsize输出图像尺寸;如果它等于零,则如公式

\[𝚍𝚜𝚒𝚣𝚎 = 𝚂𝚒𝚣𝚎(𝚛𝚘𝚞𝚗𝚍(𝚏𝚡*𝚜𝚛𝚌.𝚌𝚘𝚕𝚜), 𝚛𝚘𝚞𝚗𝚍(𝚏𝚢*𝚜𝚛𝚌.𝚛𝚘𝚠𝚜))\]

要么dsize或fx和fy都非零。
fx水平轴上的缩放因子;当它等于 0 时,计算如下

\[(𝚍𝚘𝚞𝚋𝚕𝚎)𝚍𝚜𝚒𝚣𝚎.𝚠𝚒𝚍𝚝𝚑/𝚜𝚛𝚌.𝚌𝚘𝚕𝚜\]

fy垂直轴上的缩放因子;当它等于 0 时,计算如下

\[(𝚍𝚘𝚞𝚋𝚕𝚎)𝚍𝚜𝚒𝚣𝚎.𝚑𝚎𝚒𝚐𝚑𝚝/𝚜𝚛𝚌.𝚛𝚘𝚠𝚜\]

interpolation插值方法(参见 cv.cann.InterpolationFlags
streamAscendStream 异步版本。
注意
在使用最邻近邻域或双线性插值进行重采样时,有一些对输入数据类型的限制:输入图像必须是uint8,且仅支持GRAY和BGR图像。输入输出图像的分辨率必须在[10*6, 4096*4096]范围内。二次样条插值:输入图像可以是不同类型,输出图像必须是float或uint8。像素区域插值:输入图像可以是不同类型,但输出图像始终是float。
在采用最邻近邻域或双线性插值进行重采样时,支持的设备只有:Atlas Inference系列产品、Atlas 200/500 A2 Inference产品以及Atlas A2 Training系列产品/Atlas 300I A2 Inference产品
参见
cv::resize

◆ rotate() [1/2]

void cv::cann::rotate ( const AscendMat src,
AscendMat dst,
int  rotateMode,
AscendStream stream = AscendStream::Null() 
)

◆ rotate() [2/2]

void cv::cann::rotate ( InputArray  src,
OutputArray  dst,
int  rotateCode,
AscendStream stream = AscendStream::Null() 
)

#include <

以90度为增量旋转2D数组。函数cv::rotate 可以以三种不同的方式旋转数组:顺时针旋转90度(rotateCode = ROTATE_90_CLOCKWISE)。顺时针旋转180度(rotateCode = ROTATE_180)。顺时针旋转270度(rotateCode = ROTATE_90_COUNTERCLOCKWISE)。

参数
src输入数组。
dst与src同类型的输出数组。其大小与ROTATE_180相同,对于ROTATE_90_CLOCKWISE和ROTATE_90_COUNTERCLOCKWISE,行和列互换了。
rotateCode一个枚举值,用于指定如何旋转数组;参见枚举 RotateFlags
streamAscendStream 异步版本。
注意
src必须是以下类型之一:float16、float、int64、int32、int16、uint16
参见
cv::rotate

◆ split() [1/4]

void cv::cann::split ( const AscendMat src,
AscendMat dst,
AscendStream stream = AscendStream::Null() 
)

◆ split() [2/4]

void cv::cann::split ( const AscendMat src,
std::vector< AscendMat > &  dst,
AscendStream stream = AscendStream::Null() 
)

◆ split() [3/4]

void cv::cann::split ( const InputArray  src,
AscendMat dst,
AscendStream stream = AscendStream::Null() 
)

◆ split() [4/4]

void cv::cann::split ( const InputArray  src,
std::vector< AscendMat > &  dst,
AscendStream stream = AscendStream::Null() 
)

◆ transpose() [1/2]

void cv::cann::transpose ( const AscendMat src,
AscendMat dst,
AscendStream stream = AscendStream::Null() 
)

◆ transpose() [2/2]

void cv::cann::transpose ( InputArray  src,
OutputArray  dst,
AscendStream stream = AscendStream::Null() 
)