OpenCV  4.10.0
开源计算机视觉库
加载中...
搜索中...
无匹配
公有类型 | 公有成员函数 | 静态公有成员函数 | 公有属性 | 所有成员列表
cv::UMat 类参考

#include <opencv2/core/mat.hpp>

cv::UMat 的协作图

公有类型

枚举  {
  MAGIC_VAL = 0x42FF0000 ,
  AUTO_STEP = 0 ,
  CONTINUOUS_FLAG = CV_MAT_CONT_FLAG ,
  SUBMATRIX_FLAG = CV_SUBMAT_FLAG
}
 
枚举  {
  MAGIC_MASK = 0xFFFF0000 ,
  TYPE_MASK = 0x00000FFF ,
  DEPTH_MASK = 7
}
 

公有成员函数

template<typename _Tp >
 UMat (const std::vector< _Tp > &vec, bool copyData=false)
 从 std::vector 构建矩阵,可选择是否复制数据
 
 UMat (const UMat &m)
 复制构造函数
 
 UMat (const UMat &m, const Range &rowRange, const Range &colRange=Range::all())
 为较大矩阵的一部分创建矩阵头
 
 UMat (const UMat &m, const Range *ranges)
 
 UMat (const UMat &m, const Rect &roi)
 
 UMat (const UMat &m, const std::vector< Range > &ranges)
 
 UMat (int ndims, const int *sizes, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
 UMat (int ndims, const int *sizes, int type, Scalar s=Scalar::all(), UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构造 n 维矩阵
 
 UMat (int rows, int cols, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构建一个二维矩阵并用指定的值 _s 填充。
 
 UMat (int rows, int cols, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构建指定大小和类型的二维矩阵
 
 UMat (Size size, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
 UMat (Size size, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
 UMat (UMat &&m)
 
 UMat (UMatUsageFlags usageFlags=USAGE_DEFAULT) CV_NOEXCEPT
 默认构造函数
 
 ~UMat ()
 析构函数 - 调用 release()
 
void addref ()
 增加引用计数;谨慎使用,以避免内存泄露
 
UMatadjustROI (int dtop, int dbottom, int dleft, int dright)
 在父矩阵内部移动/调整当前矩阵的 ROI。
 
void assignTo (UMat &m, int type=-1) const
 
int channels () const
 返回元素类型,类似于 CV_MAT_CN(cvmat->type)
 
int checkVector (int elemChannels, int depth=-1, bool requireContinuous=true) const
 返回 N 如果矩阵是 1 通道(N x ptdim)或 ptdim 通道(1 x N)或(N x 1);否则返回负数
 
CV_NODISCARD_STD UMat clone () const
 返回矩阵的深度复制,即数据被复制
 
UMat col (int x) const
 返回指定列的新矩阵头
 
UMat colRange (const Range &r) const
 
UMat colRange (int startcol, int endcol) const
 ... 用于指定列跨度
 
void convertTo (OutputArray m, int rtype, double alpha=1, double beta=0) const
 将矩阵转换为另一种数据类型,可选缩放。请参阅cvConvertScale。
 
void copySize (const UMat &m)
 内部使用函数;适当地重新分配 _size, _step 数组
 
void copyTo (OutputArray m) const
 将矩阵内容复制到 "m"。)
 
void copyTo (OutputArray m, InputArray mask) const
 将那些标记为非零的掩码元素标记的矩阵元素复制到 "m"。)
 
void create (const std::vector< int > &sizes, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
void create (int ndims, const int *sizes, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
void create (int rows, int cols, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 除非矩阵已经具有指定的尺寸和数据类型,否则分配新矩阵数据。
 
void create (Size size, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 
void 释放内存 ()
 释放矩阵数据
 
int depth () const
 返回元素类型,类似于 CV_MAT_DEPTH(cvmat->type)
 
UMat diag (int d=0) const
 
double dot (InputArray m) const
 计算点积
 
size_t elemSize () const
 返回元素大小(以字节数为单位),
 
size_t elemSize1 () const
 返回元素通道大小(以字节数为单位)。
 
bool empty () const
 返回true如果矩阵数据为NULL
 
Mat getMat (AccessFlag flags) const
 
void * handle (AccessFlag accessFlags) const
 
UMat inv (int method=DECOMP_LU) const
 通过矩阵表达式进行矩阵求逆
 
bool isContinuous () const
 当且仅当矩阵数据连续时返回true
 
bool isSubmatrix () const
 如果矩阵是另一个矩阵的子矩阵,则返回true
 
void locateROI (Size &wholeSize, Point &ofs) const
 定位矩阵头在父矩阵内的位置。见下文
 
UMat mul (InputArray m, double scale=1) const
 通过矩阵表达式进行逐元素矩阵乘法
 
void ndoffset (size_t *ofs) const
 
UMat operator() (const Range *ranges) const
 
UMat operator() (const Rect &roi) const
 
UMat operator() (const std::vector< Range > &ranges) const
 
UMat operator() (Range rowRange, Range colRange) const
 提取矩形子矩阵
 
UMatoperator= (const Scalar &s)
 将每个矩阵元素设置为s
 
UMatoperator= (const UMat &m)
 赋值运算符
 
UMatoperator= (UMat &&m)
 
void 释放资源 ()
 减少引用计数;
 
UMat reshape (int cn, int newndims, const int *newsz) const
 
UMat reshape (int cn, int rows=0) const
 创建具有不同行的同一数据的替代矩阵头
 
UMat row (int y) const
 返回指定行的新的矩阵头
 
UMat rowRange (const Range &r) const
 
UMat rowRange (int startrow, int endrow) const
 对于指定行范围...
 
UMatsetTo (InputArray value, InputArray mask=noArray())
 根据掩码将某些矩阵元素设置为s
 
size_t step1 (int i=0) const
 返回 step/elemSize1()
 
UMat t () const
 通过矩阵表达式执行矩阵转置
 
size_t total () const
 返回矩阵元素的总数
 
int type () const
 返回元素类型,类似于 CV_MAT_TYPE(cvmat->type)
 
void updateContinuityFlag ()
 内部使用方法:更新连续性标志
 

静态公共成员函数

static CV_NODISCARD_STD UMat diag (const UMat &d)
 
static CV_NODISCARD_STD UMat diag (const UMat &d, UMatUsageFlags usageFlags)
 构造主对角线为向量 "d" 的方形对角矩阵
 
static CV_NODISCARD_STD UMat eye (int rows, int cols, int type)
 
static CV_NODISCARD_STD UMat eye (int rows, int cols, int type, UMatUsageFlags usageFlags)
 
static CV_NODISCARD_STD UMat eye (Size size, int type)
 
static CV_NODISCARD_STD UMat eye (Size size, int type, UMatUsageFlags usageFlags)
 
static MatAllocatorgetStdAllocator ()
 和标准分配器
 
static CV_NODISCARD_STD UMat ones (int ndims, const int *sz, int type)
 
static CV_NODISCARD_STD UMat ones (int ndims, const int *sz, int type, UMatUsageFlags usageFlags)
 
static CV_NODISCARD_STD UMat ones (int rows, int cols, int type)
 
static CV_NODISCARD_STD UMat ones (int rows, int cols, int type, UMatUsageFlags usageFlags)
 
static CV_NODISCARD_STD UMat ones (Size size, int type)
 
static CV_NODISCARD_STD UMat ones (Size size, int type, UMatUsageFlags usageFlags)
 
static CV_NODISCARD_STD UMat zeros (int ndims, const int *sz, int type)
 
static CV_NODISCARD_STD UMat zeros (int ndims, const int *sz, int type, UMatUsageFlags usageFlags)
 
static CV_NODISCARD_STD UMat zeros (int rows, int cols, int type)
 
static CV_NODISCARD_STD UMat zeros (int rows, int cols, int type, UMatUsageFlags usageFlags)
 Matlab风格的矩阵初始化。
 
static CV_NODISCARD_STD UMat zeros (Size size, int type)
 
static CV_NODISCARD_STD UMat zeros (Size size, int type, UMatUsageFlags usageFlags)
 

公共属性

MatAllocatorallocator
 自定义分配器
 
int cols
 矩阵中的列数;当矩阵维数大于2时为-1
 
int dims
 矩阵维数,>= 2
 
int flags
 
size_t offset
 子矩阵的偏移量(或0)
 
int rows
 矩阵中的行数;当矩阵维数大于2时为-1
 
MatSize size
 矩阵的空间大小;以多种格式访问
 
MatStep step
 每个矩阵元素/行/平面/维度的字节数
 
UMatDatau
 UMat数据的黑盒容器
 
UMatUsageFlags usageFlags
 分配器使用标志;建议不要直接设置,而是在构造/创建/获取UMat时设置
 

详细说明

待办事项
文档
示例
samples/tapi/hog.cpp.

成员枚举文档

◆ 匿名枚举

匿名枚举
枚举值
MAGIC_VAL 
AUTO_STEP 
CONTINUOUS_FLAG 
SUBMATRIX_FLAG 

◆ 匿名枚举

匿名枚举
枚举值
魔方掩码 
类型掩码 
深度掩码 

构造函数和析构函数文档

◆ UMat() [1/14]

cv::UMat::UMat ( UMatUsageFlags  usageFlags = USAGE_DEFAULT)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

默认构造函数

◆ UMat() [2/14]

cv::UMat::UMat ( int  rows,
int  cols,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

构建指定大小和类型的二维矩阵

◆ UMat() [3/14]

cv::UMat::UMat ( Size  size,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [4/14]

cv::UMat::UMat ( int  rows,
int  cols,
int  类型,
const Scalar s,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

构建一个二维矩阵并用指定的值 _s 填充。

◆ UMat() [5/14]

cv::UMat::UMat ( Size  size,
int  类型,
const Scalar s,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [6/14]

cv::UMat::UMat ( int  维度,
const int *  大小,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

构造 n 维矩阵

◆ UMat() [7/14]

cv::UMat::UMat ( int  维度,
const int *  大小,
int  类型,
const Scalar s,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [8/14]

cv::UMat::UMat ( const UMat m)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

复制构造函数

◆ UMat() [9/14]

cv::UMat::UMat ( const UMat m,
const Range 行范围,
const Range colRange = Range::all() 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

为较大矩阵的一部分创建矩阵头

◆ UMat() [10/14]

cv::UMat::UMat ( const UMat m,
const Rect roi 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [11/14]

cv::UMat::UMat ( const UMat m,
const Range ranges 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [12/14]

cv::UMat::UMat ( const UMat m,
const std::vector< Range > &  ranges 
)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

◆ UMat() [13/14]

template<typename _Tp >
cv::UMat::UMat ( const std::vector< _Tp > &  向量,
bool  copyData = false 
)
explicit
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

从 std::vector 构建矩阵,可选择是否复制数据

◆ ~UMat()

cv::UMat::~UMat ( )

析构函数 - 调用 release()

◆ UMat() [14/14]

cv::UMat::UMat ( UMat m)
Python
cv.UMat([, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型[, usageFlags]) -> <UMat对象>
cv.UMat(行数, 列数, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(大小, 类型, s[, usageFlags]) -> <UMat对象>
cv.UMat(m) -> <UMat对象>
cv.UMat(m, 行范围[, 列范围]) -> <UMat对象>
cv.UMat(m, 区域) -> <UMat对象>
cv.UMat(m, 范围) -> <UMat对象>

成员函数文档

◆ addref()

void cv::UMat::addref ( )

增加引用计数;谨慎使用,以避免内存泄露

◆ adjustROI()

UMat & cv::UMat::adjustROI ( int  ,
int  ,
int  ,
int   
)

在父矩阵内部移动/调整当前矩阵的 ROI。

◆ assignTo()

void cv::UMat::assignTo ( UMat m,
int  type = -1 
) const

◆ channels()

int cv::UMat::channels ( ) const

返回元素类型,类似于 CV_MAT_CN(cvmat->type)

◆ checkVector()

int cv::UMat::checkVector ( int  elemChannels,
int  深度 = -1,
bool  requireContinuous = true 
) const

返回 N 如果矩阵是 1 通道(N x ptdim)或 ptdim 通道(1 x N)或(N x 1);否则返回负数

◆ clone()

CV_NODISCARD_STD UMat cv::UMat::clone ( ) const

返回矩阵的深度复制,即数据被复制

◆ col()

UMat cv::UMat::col ( int  x) const

返回指定列的新矩阵头

◆ colRange() [1/2]

UMat cv::UMat::colRange ( const Range r) const

◆ colRange() [2/2]

UMat cv::UMat::colRange ( int  startcol,
int  endcol 
) const

... 用于指定列跨度

◆ convertTo()

void cv::UMat::convertTo ( OutputArray  m,
int  rtype,
double  alpha = 1,
double  beta = 0 
) const

将矩阵转换为另一种数据类型,可选缩放。请参阅cvConvertScale。

◆ copySize()

void cv::UMat::copySize ( const UMat m)

内部使用函数;适当地重新分配 _size, _step 数组

◆ copyTo() [1/2]

void cv::UMat::copyTo ( OutputArray  m) const

将矩阵内容复制到 "m"。)

示例
samples/tapi/hog.cpp.

◆ copyTo() [2/2]

void cv::UMat::copyTo ( OutputArray  m,
InputArray  mask 
) const

将那些标记为非零的掩码元素标记的矩阵元素复制到 "m"。)

◆ create() [1/4]

void cv::UMat::create ( const std::vector< int > &  大小,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)

◆ create() [2/4]

void cv::UMat::create ( int  维度,
const int *  大小,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)

◆ create() [3/4]

void cv::UMat::create ( int  rows,
int  cols,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)

除非矩阵已经具有指定的尺寸和数据类型,否则分配新矩阵数据。

◆ create() [4/4]

void cv::UMat::create ( Size  size,
int  类型,
UMatUsageFlags  usageFlags = USAGE_DEFAULT 
)

◆ deallocate()

void cv::UMat::deallocate ( )

释放矩阵数据

◆ depth()

int cv::UMat::depth ( ) const

返回元素类型,类似于 CV_MAT_DEPTH(cvmat->type)

◆ diag() [1/3]

static CV_NODISCARD_STD UMat cv::UMat::diag ( const UMat d)
inlinestatic
此函数的调用图如下

◆ diag() [2/3]

static CV_NODISCARD_STD UMat cv::UMat::diag ( const UMat d,
UMatUsageFlags  usageFlags 
)
static

构造主对角线为向量 "d" 的方形对角矩阵

◆ diag() [3/3]

UMat cv::UMat::diag ( int  d = 0) const

... 对于指定的对角线(d=0 - 主对角线,>0 - 上半部分的对角线,<0 - 下半部分的...

◆ dot()

double cv::UMat::dot ( InputArray  m) const

计算点积

◆ elemSize()

size_t cv::UMat::elemSize ( ) const

返回元素大小(以字节数为单位),

◆ elemSize1()

size_t cv::UMat::elemSize1 ( ) const

返回元素通道大小(以字节数为单位)。

◆ empty()

bool cv::UMat::empty ( ) const

返回true如果矩阵数据为NULL

示例
samples/tapi/hog.cpp.

◆ eye() [1/4]

static CV_NODISCARD_STD UMat cv::UMat::eye ( int  rows,
int  cols,
int  type 
)
inlinestatic
此函数的调用图如下

◆ eye() [2/4]

static CV_NODISCARD_STD UMat cv::UMat::eye ( int  rows,
int  cols,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ eye() [3/4]

static CV_NODISCARD_STD UMat cv::UMat::eye ( Size  size,
int  type 
)
inlinestatic
此函数的调用图如下

◆ eye() [4/4]

static CV_NODISCARD_STD UMat cv::UMat::eye ( Size  size,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ getMat()

Mat cv::UMat::getMat ( AccessFlag  flags) const

◆ getStdAllocator()

static MatAllocator * cv::UMat::getStdAllocator ( )
static

和标准分配器

◆ handle()

void * cv::UMat::handle ( AccessFlag  accessFlags) const
Python
cv.UMat.handle(accessFlags) -> 返回值

返回 UMat 对象所操作的 OpenCL 缓冲区句柄。在调用该句柄期间,应保持 UMat 实例有效,以防止缓冲区返回到 OpenCV 缓冲池。

◆ inv()

UMat cv::UMat::inv ( int  方法 = DECOMP_LU) const

通过矩阵表达式进行矩阵求逆

◆ isContinuous()

bool cv::UMat::isContinuous ( ) const
Python
cv.UMat.isContinuous() -> 返回值

当且仅当矩阵数据连续时返回true

◆ isSubmatrix()

bool cv::UMat::isSubmatrix ( ) const
Python
cv.UMat.isSubmatrix() -> 返回值

如果矩阵是另一个矩阵的子矩阵,则返回true

◆ locateROI()

void cv::UMat::locateROI ( Size wholeSize,
Point ofs 
) const

定位矩阵头在父矩阵内的位置。见下文

◆ mul()

UMat cv::UMat::mul ( InputArray  m,
double  scale = 1 
) const

通过矩阵表达式进行逐元素矩阵乘法

◆ ndoffset()

void cv::UMat::ndoffset ( size_t *  ofs) const

◆ ones() [1/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( int  维度,
const int *  sz,
int  type 
)
inlinestatic
此函数的调用图如下

◆ ones() [2/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( int  维度,
const int *  sz,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ ones() [3/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( int  rows,
int  cols,
int  type 
)
inlinestatic
此函数的调用图如下

◆ ones() [4/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( int  rows,
int  cols,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ ones() [5/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( Size  size,
int  type 
)
inlinestatic
此函数的调用图如下

◆ ones() [6/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( Size  size,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ operator()() [1/4]

UMat cv::UMat::operator() ( const Range ranges) const

◆ operator()() [2/4]

UMat cv::UMat::operator() ( const Rect roi) const

◆ operator()() [3/4]

UMat cv::UMat::operator() ( const std::vector< Range > &  ranges) const

◆ operator()() [4/4]

UMat cv::UMat::operator() ( Range  行范围,
Range  colRange 
) const

提取矩形子矩阵

◆ operator=() [1/3]

UMat & cv::UMat::operator= ( const Scalar s)

将每个矩阵元素设置为s

◆ operator=() [2/3]

UMat & cv::UMat::operator= ( const UMat m)

赋值运算符

◆ operator=() [3/3]

UMat & cv::UMat::operator= ( UMat m)

◆ release()

void cv::UMat::release ( )

减少引用计数;

◆ reshape() [1/2]

UMat cv::UMat::reshape ( int  cn,
int  newndims,
const int *  newsz 
) const

◆ reshape() [2/2]

UMat cv::UMat::reshape ( int  cn,
int  rows = 0 
) const

创建具有不同行的同一数据的替代矩阵头

◆ row()

UMat cv::UMat::row ( int  y) const

返回指定行的新的矩阵头

◆ rowRange() [1/2]

UMat cv::UMat::rowRange ( const Range r) const

◆ rowRange() [2/2]

UMat cv::UMat::rowRange ( int  startrow,
int  endrow 
) const

对于指定行范围...

◆ setTo()

UMat & cv::UMat::setTo ( InputArray  value,
InputArray  mask = noArray() 
)

根据掩码将某些矩阵元素设置为s

◆ step1()

size_t cv::UMat::step1 ( int  i = 0) const

返回 step/elemSize1()

◆ t()

UMat cv::UMat::t ( ) const

通过矩阵表达式执行矩阵转置

◆ total()

size_t cv::UMat::total ( ) const

返回矩阵元素的总数

◆ type()

int cv::UMat::type ( ) const

返回元素类型,类似于 CV_MAT_TYPE(cvmat->type)

◆ updateContinuityFlag()

void cv::UMat::updateContinuityFlag ( )

内部使用方法:更新连续性标志

◆ zeros() [1/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( int  维度,
const int *  sz,
int  type 
)
inlinestatic
此函数的调用图如下

◆ zeros() [2/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( int  维度,
const int *  sz,
int  类型,
UMatUsageFlags  usageFlags 
)
static

◆ zeros() [3/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( int  rows,
int  cols,
int  type 
)
inlinestatic
此函数的调用图如下

◆ zeros() [4/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( int  rows,
int  cols,
int  类型,
UMatUsageFlags  usageFlags 
)
static

Matlab风格的矩阵初始化。

◆ zeros() [5/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( Size  size,
int  type 
)
inlinestatic
此函数的调用图如下

◆ zeros() [6/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( Size  size,
int  类型,
UMatUsageFlags  usageFlags 
)
static

成员数据文档

◆ allocator

MatAllocator* cv::UMat::allocator

自定义分配器

◆ cols

int cv::UMat::cols

矩阵中的列数;当矩阵维数大于2时为-1

示例
samples/tapi/hog.cpp.

◆ dims

int cv::UMat::dims

矩阵维数,>= 2

◆ flags

int cv::UMat::flags

包含多个位字段

  • 魔数签名
  • 连续性标志
  • 深度
  • 通道数

◆ offset

size_t cv::UMat::offset

子矩阵的偏移量(或0)

◆ rows

int cv::UMat::rows

矩阵中的行数;当矩阵维数大于2时为-1

示例
samples/tapi/hog.cpp.

◆ size

MatSize cv::UMat::size

矩阵的空间大小;以多种格式访问

示例
samples/tapi/hog.cpp.

◆ step

MatStep cv::UMat::step

每个矩阵元素/行/平面/维度的字节数

◆ u

UMatData* cv::UMat::u

UMat数据的黑盒容器

◆ usageFlags

UMatUsageFlags cv::UMat::usageFlags

分配器使用标志;建议不要直接设置,而是在构造/创建/获取UMat时设置


此类文档是根据以下文件生成的