OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项

详细描述

枚举

枚举  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())
 在输入图像副本周围形成边界并用指定的 borderType 填充。
 
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())
 从大图像中裁剪子图像,将其调整为特定大小,并形成顶部/左侧边界并用指定的 borderType 填充。
 
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())
 围绕垂直轴、水平轴或两个轴翻转二维矩阵。
 
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 度的倍数。函数 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

#include <opencv2/cann_interface.hpp>

插值算法

枚举值
INTER_NEAREST 

最近邻插值

INTER_LINEAR 

双线性插值

INTER_CUBIC 

双三次插值

INTER_AREA 

使用像素面积关系进行重采样。对于图像抽取,这可能是一种更好的方法,因为它可以提供无摩尔纹的结果。但是,当图像被放大时,它类似于 INTER_NEAREST 方法。

INTER_MAX 

插值代码掩码

函数文档

◆ 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>

在输入图像副本周围形成边界并用指定的 borderType 填充。

参数
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
如果 borderType==BORDER_CONSTANT,则为边界 BGR 或 YUV 值。
注意
输入图像必须为 uint8,并且仅支持 GRAY 和 BGR 图像。输入和输出图像的分辨率必须在 [10*6, 4096*4096] 范围内。
仅支持以下设备:Atlas 推理系列产品、Atlas 200/500 A2 推理产品和 Atlas A2 训练系列产品/Atlas 300I A2 推理产品。
另请参阅
cv::copyMakeBordercv::borderInterpolate

◆ crop() [1/2]

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

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

◆ crop() [2/2]

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

#include <opencv2/cann_interface.hpp>

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

参数
src输入数组。
矩形用于裁剪数组的矩形
AscendStream 用于异步版本。
另请参阅
cv::gapi::crop

◆ cropResize() [1/2]

void cv::cann::cropResize ( const AscendMat & src,
AscendMat & dst,
const Rect & 矩形,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int interpolation )

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

◆ cropResize() [2/2]

void cv::cann::cropResize ( const InputArray src,
OutputArray dst,
const Rect & 矩形,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int interpolation )

#include <opencv2/cann_interface.hpp>

从大图像中裁剪子图像,并将其调整为特定大小。

参数
src输入数组。
dst输出数组。它具有 dsize 尺寸(当它不为零时)或根据 src.size()、fx 和 fy 计算出的尺寸;dst 的类型与 src 相同。
矩形用于裁剪数组的矩形
dsize输出图像大小;如果它等于零,则计算方式与 cv::resize 相同。
fx沿水平轴的缩放因子;当它等于 0 时,计算方式为

\[(双精度浮点数)dsize.width/src.cols\]

fy沿垂直轴的缩放因子;当它等于 0 时,计算方式为

\[(双精度浮点数)dsize.height/src.rows\]

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

◆ cropResizeMakeBorder() [1/2]

void cv::cann::cropResizeMakeBorder ( const AscendMat & src,
AscendMat & dst,
const Rect & 矩形,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int 插值方法,
int top,
int left,
const int borderType,
标量 value = Scalar() )

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

◆ cropResizeMakeBorder() [2/2]

void cv::cann::cropResizeMakeBorder ( const InputArray src,
OutputArray dst,
const Rect & 矩形,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int 插值方法,
int top,
int left,
const int borderType,
标量 value = Scalar() )

#include <opencv2/cann_interface.hpp>

从大图像中裁剪子图像,将其调整为特定大小,并形成顶部/左侧边界并用指定的 borderType 填充。

参数
src输入数组。
dst输出数组;它具有 Size(dsize.height + top, dsize.width + left) 的大小。
矩形用于裁剪数组的矩形
dsize调整大小。
fx沿水平轴的缩放因子;
fy沿垂直轴的缩放因子;
插值方法插值方法,仅支持 INTER_NEAREST 和 INTER_LINEAR。(参见 cv.cann.InterpolationFlags
borderType边界外推方法,仅支持 cv::BorderTypes::BORDER_CONSTANTcv::BorderTypes::BORDER_REPLICATE
如果 borderType==BORDER_CONSTANT,则为边界 BGR 或 YUV 值。
top顶部填充的像素数
left左侧填充的像素数
注意
输入图像必须为 uint8,并且仅支持 GRAY 和 BGR 图像。输入和输出图像的分辨率必须在 [10*6, 4096*4096] 范围内。
仅支持以下设备:Atlas 推理系列产品、Atlas 200/500 A2 推理产品和 Atlas A2 训练系列产品/Atlas 300I A2 推理产品。
另请参阅
cv::gapi::cropcv::resizecv::cann::resizecv::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>

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

参数
src源矩阵。
dst目标矩阵。
flipCode源的翻转模式
  • 0 围绕 x 轴翻转。
  • > 0 围绕 y 轴翻转。
  • < 0 围绕 x 轴和 y 轴翻转。
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,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int 插值方法,
AscendStream & stream = AscendStream::Null() )

#include <opencv2/cann_interface.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

◆ resize() [2/2]

void cv::cann::resize ( InputArray src,
OutputArray dst,
尺寸 dsize,
双精度浮点数 fx,
双精度浮点数 fy,
int 插值方法,
AscendStream & stream = AscendStream::Null() )

#include <opencv2/cann_interface.hpp>

将图像 src 调整大小到指定尺寸。

参数
src输入图像
dst输出图像;它具有 dsize 尺寸(当它不为零时)或根据 src.size()、fx 和 fy 计算出的尺寸;dst 的类型与 src 相同。
dsize输出图像大小;如果它等于零,则计算方式为

\[dsize = Size(round(fx*src.cols), round(fy*src.rows))\]

dsize 或 fx 和 fy 必须有一个不为零。
fx沿水平轴的缩放因子;当它等于 0 时,计算方式为

\[(双精度浮点数)dsize.width/src.cols\]

fy沿垂直轴的缩放因子;当它等于 0 时,计算方式为

\[(双精度浮点数)dsize.height/src.rows\]

插值方法插值方法(参见 cv.cann.InterpolationFlags
AscendStream 用于异步版本。
注意
输入数据类型有一些约束:当使用最近邻或双线性插值重采样时:输入图像必须为uint8,并且只支持GRAY和BGR图像。输入和输出图像的分辨率必须在[10*6, 4096*4096]范围内。三次插值:输入图像可以是不同类型,输出图像必须为float或uint8。像素面积插值:输入图像可以是不同类型,但输出图像始终为float。
当使用最近邻或双线性插值重采样时,只支持以下设备:Atlas推理系列产品、Atlas 200/500 A2推理产品和Atlas A2训练系列产品/Atlas 300I A2推理产品
另请参阅
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 度的倍数。函数 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