OpenCV 4.11.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
}
 

公共成员函数

模板<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, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构造 n 维矩阵
 
 UMat (int rows, int cols, int type, const Scalar &s, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构造 2D 矩阵并用指定值 _s 填充。
 
 UMat (int rows, int cols, int type, UMatUsageFlags usageFlags=USAGE_DEFAULT)
 构造指定大小和类型的 2D 矩阵
 
 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 x ptdim) 或 ptdim 通道 (1 x N) 或 (N x 1),则返回 N;否则返回负数
 
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
 如果矩阵数据为 NULL,则返回 true。
 
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期间设置
 

详细描述

成员枚举文档

◆ 匿名枚举

匿名枚举
枚举器
MAGIC_VAL 
AUTO_STEP 
CONTINUOUS_FLAG 
SUBMATRIX_FLAG 

◆ 匿名枚举

匿名枚举
枚举器
MAGIC_MASK 
TYPE_MASK 
DEPTH_MASK 

构造函数和析构函数文档

◆ UMat() [1/14]

cv::UMat::UMat ( UMatUsageFlags usageFlags = USAGE_DEFAULT)
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

默认构造函数

◆ UMat() [2/14]

cv::UMat::UMat ( int rows,
int cols,
int type,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

构造指定大小和类型的 2D 矩阵

◆ UMat() [3/14]

cv::UMat::UMat ( Size size,
int type,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [4/14]

cv::UMat::UMat ( int rows,
int cols,
int type,
const Scalar & s,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

构造 2D 矩阵并用指定值 _s 填充。

◆ UMat() [5/14]

cv::UMat::UMat ( Size size,
int type,
const Scalar & s,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [6/14]

cv::UMat::UMat ( int ndims,
const int * sizes,
int type,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

构造 n 维矩阵

◆ UMat() [7/14]

cv::UMat::UMat ( int ndims,
const int * sizes,
int type,
const Scalar & s,
UMatUsageFlags usageFlags = USAGE_DEFAULT )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [8/14]

cv::UMat::UMat ( const UMat & m)
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

复制构造函数

◆ UMat() [9/14]

cv::UMat::UMat ( const UMat & m,
const Range & rowRange,
const Range & colRange = Range::all() )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

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

◆ UMat() [10/14]

cv::UMat::UMat ( const UMat & m,
const Rect & roi )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [11/14]

cv::UMat::UMat ( const UMat & m,
const Range * ranges )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [12/14]

cv::UMat::UMat ( const UMat & m,
const std::vector< Range > & ranges )
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

◆ UMat() [13/14]

模板<typename _Tp >
cv::UMat::UMat ( const std::vector< _Tp > & vec,
bool copyData = false )
explicit
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

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

◆ ~UMat()

cv::UMat::~UMat ( )

析构函数 - 调用 release()

◆ UMat() [14/14]

cv::UMat::UMat ( UMat && m)
Python
cv.UMat([, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type[, usageFlags]) -> <UMat 对象>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(size, type, s[, usageFlags]) -> <UMat 对象>
cv.UMat(m) -> <UMat 对象>
cv.UMat(m, rowRange[, colRange]) -> <UMat 对象>
cv.UMat(m, roi) -> <UMat 对象>
cv.UMat(m, ranges) -> <UMat 对象>

成员函数文档

◆ addref()

void cv::UMat::addref ( )

增加引用计数;小心使用,避免内存泄漏

◆ adjustROI()

UMat & cv::UMat::adjustROI ( int dtop,
int dbottom,
int dleft,
int dright )

在父矩阵内移动/调整当前矩阵 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 depth = -1,
bool requireContinuous = true ) const

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

◆ 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 > & sizes,
int type,
UMatUsageFlags usageFlags = USAGE_DEFAULT )

◆ create() [2/4]

void cv::UMat::create ( int ndims,
const int * sizes,
int type,
UMatUsageFlags usageFlags = USAGE_DEFAULT )

◆ create() [3/4]

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

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

◆ create() [4/4]

void cv::UMat::create ( Size size,
int type,
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

如果矩阵数据为 NULL,则返回 true。

示例
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 type,
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 type,
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) -> retval

返回UMat操作的OpenCL缓冲区句柄。UMat 实例在使用句柄期间应保持活动状态,以防止缓冲区返回到OpenCV缓冲区池。

◆ inv()

UMat cv::UMat::inv ( int method = DECOMP_LU) const

使用矩阵表达式进行矩阵求逆。

◆ isContinuous()

bool cv::UMat::isContinuous ( ) const
Python
cv.UMat.isContinuous() -> retval

如果矩阵数据是连续的,则返回 true。

◆ isSubmatrix()

bool cv::UMat::isSubmatrix ( ) const
Python
cv.UMat.isSubmatrix() -> retval

如果矩阵是另一个矩阵的子矩阵,则返回 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 ndims,
const int * sz,
int type )
inlinestatic
此函数的调用图如下所示

◆ ones() [2/6]

static CV_NODISCARD_STD UMat cv::UMat::ones ( int ndims,
const int * sz,
int type,
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 type,
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 type,
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 rowRange,
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 ndims,
const int * sz,
int type )
inlinestatic
此函数的调用图如下所示

◆ zeros() [2/6]

static CV_NODISCARD_STD UMat cv::UMat::zeros ( int ndims,
const int * sz,
int type,
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 type,
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 type,
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期间设置


此类的文档是从以下文件生成的: