OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项

详细说明

枚举

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())
 裁剪 2D 数组。该函数通过给定的 cv::Rect 裁剪矩阵。输出矩阵必须具有与输入矩阵相同的深度,其大小由给定的 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())
 矩阵转置。
 

枚举类型文档 (Enumeration Type Documentation)

◆ InterpolationFlags

#include <opencv2/cann_interface.hpp>

插值算法

枚举值 (Enumerator)
INTER_NEAREST 

最近邻插值

INTER_LINEAR 

双线性插值

INTER_CUBIC 

双三次插值

INTER_AREA 

利用像素区域关系进行重采样。对于图像缩减,它可能是首选方法,因为它能产生无摩尔纹的结果。但当图像放大时,它类似于INTER_NEAREST方法。

INTER_MAX 

插值码的掩码

函数文档 (Function Documentation)

◆ 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=Scalar() 

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ 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=Scalar() 

#include <opencv2/cann_interface.hpp>

在输入图像的复本周围形成边界,并使用指定的边界类型填充。

参数
src源图像。
dst目标图像,类型与src相同,大小为Size(src.cols+left+right, src.rows+top+bottom)。
top (上)顶部填充的像素数量
bottom (下)底部填充的像素数量
left (左)左侧填充的像素数量
right (右)右侧填充的像素数量 参数指定了从源图像矩形向外推断的每个方向的像素数。例如,top=1, bottom=1, left=1, right=1 表示需要构建1像素宽的边框。
borderType边框类型。仅支持cv::BorderTypes::BORDER_CONSTANTcv::BorderTypes::BORDER_REPLICATE
value (值)如果borderType==BORDER_CONSTANT,则边框BGR或YUV值。
注意
输入图像必须是uint8类型,并且仅支持GRAY和BGR图像。输入和输出图像的分辨率必须在[10*6, 4096*4096]范围内。
仅支持以下设备:Atlas Inference Series产品、Atlas 200/500 A2 Inference产品和Atlas A2 Training Series产品/Atlas 300I A2 Inference产品。
另请参阅
cv::copyMakeBorder, cv::borderInterpolate

◆ crop() [1/2]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ crop() [2/2]

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

#include <opencv2/cann_interface.hpp>

裁剪 2D 数组。该函数通过给定的 cv::Rect 裁剪矩阵。输出矩阵必须具有与输入矩阵相同的深度,其大小由给定的 rect 大小指定。

参数
src输入数组。
rect要裁剪的数组的矩形区域
用于异步版本的 AscendStream。
另请参阅
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 )

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cropResize() [2/2]

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

#include <opencv2/cann_interface.hpp>

从大图像中裁剪子图像,并将其缩放到特定大小。

参数
src输入数组。
dst输出数组。其大小为dsize(如果非零),或由src.size()、fx和fy计算得出;dst的类型与src相同。
rect要裁剪的数组的矩形区域
dsize输出图像大小;如果为零,则按cv::resize的方式计算。
fx沿水平轴的比例因子;当它等于 0 时,它计算为

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

fy沿垂直轴的比例因子;当它等于 0 时,它计算为

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

interpolation插值方法,此处仅支持INTER_NEAREST和INTER_LINEAR。(请参见cv.cann.InterpolationFlags
注意
输入图像必须是uint8类型,并且仅支持GRAY和BGR图像。输入和输出图像的分辨率必须在[10*6, 4096*4096]范围内。
仅支持以下设备:Atlas Inference Series产品、Atlas 200/500 A2 Inference产品和Atlas A2 Training Series产品/Atlas 300I A2 Inference产品。
另请参阅
cv::gapi::crop, cv::resize, cv::cann::resize

◆ 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=Scalar() 

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ 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=Scalar() 

#include <opencv2/cann_interface.hpp>

从大图像中裁剪子图像,缩放到特定大小,并形成顶部/左侧边界,且使用指定的边界类型进行填充。

参数
src输入数组。
dst输出数组;其大小为Size(dsize.height + top, dsize.width + left)。
rect要裁剪的数组的矩形区域
dsize调整大小的尺寸;
fx水平轴的缩放因子;
fy垂直轴的缩放因子;
interpolation插值方法,仅支持INTER_NEAREST和INTER_LINEAR。(请参见cv.cann.InterpolationFlags
borderType边框外推方法,仅支持cv::BorderTypes::BORDER_CONSTANTcv::BorderTypes::BORDER_REPLICATE
value (值)如果borderType==BORDER_CONSTANT,则边框BGR或YUV值。
top (上)顶部填充的像素数量
left (左)左侧填充的像素数量
注意
输入图像必须是uint8类型,并且仅支持GRAY和BGR图像。输入和输出图像的分辨率必须在[10*6, 4096*4096]范围内。
仅支持以下设备:Atlas Inference Series产品、Atlas 200/500 A2 Inference产品和Atlas A2 Training Series产品/Atlas 300I A2 Inference产品。
另请参阅
cv::gapi::crop, cv::resize, cv::cann::resize, cv::BorderTypes

◆ flip() [1/2]

void cv::cann::flip ( const AscendMat & src,
AscendMat & dst,
int flipCode (翻转代码),
AscendStream & stream = AscendStream::Null() )

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ flip() [2/2]

void cv::cann::flip ( InputArray src,
OutputArray dst,
int flipCode (翻转代码),
AscendStream & stream = AscendStream::Null() )

#include <opencv2/cann_interface.hpp>

围绕垂直、水平或两个轴翻转 2D 矩阵。

参数
src源矩阵。
dst目标矩阵。
flipCode (翻转代码)源的翻转模式
  • 0 绕x轴翻转。
  • > 0 绕y轴翻转。
  • < 0 绕两个轴翻转。
用于异步版本的 AscendStream。
注意
src必须是以下类型之一:float16,float,int64,int32,int16,uint16
另请参阅
cv::flip cv::cuda::flip

◆ merge() [1/4]

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

#include <opencv2/cann_interface.hpp>

由几个单通道矩阵组成一个多通道矩阵。

参数
src源矩阵的数组/向量。
n源矩阵的数量。
dst目标矩阵。
用于异步版本的 AscendStream。
注意
src必须是以下类型之一:float16, float32, double, int32, int16, int8, int64, uint8, uint16, uint32, uint64。
另请参阅
cv::merge cv::cuda::merge

◆ merge() [2/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ merge() [3/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ merge() [4/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ resize() [1/2]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ resize() [2/2]

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

#include <opencv2/cann_interface.hpp>

将图像 src 缩小或放大到指定的大小。

参数
src输入图像
dst输出图像;它具有 `dsize` 大小(当它非零时)或从 `src.size()`、`fx` 和 `fy` 计算的大小;`dst` 的类型与 `src` 相同。
dsize输出图像大小;如果为零,则计算为

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

`dsize` 或 `fx` 和 `fy` 必须都非零。
fx沿水平轴的比例因子;当它等于 0 时,它计算为

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

fy沿垂直轴的比例因子;当它等于 0 时,它计算为

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

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

◆ rotate() [1/2]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ rotate() [2/2]

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

#include <opencv2/cann_interface.hpp>

以 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
用于异步版本的 AscendStream。
注意
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() )

#include <opencv2/cann_interface.hpp>

将多通道矩阵的每个平面复制到一个数组中。

参数
src源矩阵。
dst目标单通道矩阵数组/向量。
用于异步版本的 AscendStream。
注意
src必须是以下类型之一:float16, float32, double, int64, int32, uint8, uint16, uint32, uint64, int8, int16, bool
另请参阅
cv::split cv::cuda::split

◆ split() [2/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ split() [3/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ split() [4/4]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ transpose() [1/2]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ transpose() [2/2]

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

#include <opencv2/cann_interface.hpp>

矩阵转置。

参数
src源矩阵。
dst目标矩阵。
用于异步版本的 AscendStream。
注意
src必须是以下类型之一:float16,float,int8,int16,int32,int64,uint8,uint16,uint32,uint64,bool
另请参阅
cv::transpose cv::cuda::transpose