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

#include <opencv2/core/mat.hpp>

cv::UMat 的协作图

公开类型

enum  {
  MAGIC_VAL = 0x42FF0000 ,
  AUTO_STEP (自动步长) = 0 ,
  CONTINUOUS_FLAG = CV_MAT_CONT_FLAG ,
  SUBMATRIX_FLAG = CV_SUBMAT_FLAG
}
 
enum  {
  MAGIC_MASK = 0xFFFF0000 ,
  TYPE_MASK = 0x00000FFF ,
  DEPTH_MASK (深度掩码) = 7
}
 

公开成员函数

template<typename _Tp >
 UMat (const std::vector< _Tp > &vec, bool copyData=false)
 
 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)
 构造二维矩阵并使用指定值 _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
 如果矩阵是 1 通道 (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 deallocate (反分配) ()
 释放矩阵数据
 
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 release (释放) ()
 减少引用计数;
 
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
 分配器的使用标志;建议不要直接设置,而是在 construct/create/getUMat 过程中设置
 

详细说明

成员枚举文档

◆ 匿名枚举

匿名枚举
枚举值 (Enumerator)
MAGIC_VAL 
AUTO_STEP 
CONTINUOUS_FLAG 
SUBMATRIX_FLAG 

◆ 匿名枚举

匿名枚举
枚举值 (Enumerator)
MAGIC_MASK 
TYPE_MASK 
DEPTH_MASK 

构造函数与析构函数说明

◆ UMat() [1/14]

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

默认构造函数

◆ UMat() [2/14]

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

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

◆ UMat() [3/14]

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

◆ UMat() [4/14]

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

构造二维矩阵并使用指定值 _s 填充。

◆ UMat() [5/14]

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

◆ UMat() [6/14]

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

构造 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 object>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat object>
cv.UMat(size, type[, usageFlags]) -> <UMat object>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat object>
cv.UMat(size, type, s[, usageFlags]) -> <UMat object>
cv.UMat(m) -> <UMat object>
cv.UMat(m, rowRange[, colRange]) -> <UMat object>
cv.UMat(m, roi) -> <UMat object>
cv.UMat(m, ranges) -> <UMat object>

◆ UMat() [8/14]

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

拷贝构造函数

◆ UMat() [9/14]

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

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

◆ UMat() [10/14]

cv::UMat::UMat ( const UMat & m,
const Rect & roi (感兴趣区域) )
Python
cv.UMat([, usageFlags]) -> <UMat object>
cv.UMat(rows, cols, type[, usageFlags]) -> <UMat object>
cv.UMat(size, type[, usageFlags]) -> <UMat object>
cv.UMat(rows, cols, type, s[, usageFlags]) -> <UMat object>
cv.UMat(size, type, s[, usageFlags]) -> <UMat object>
cv.UMat(m) -> <UMat object>
cv.UMat(m, rowRange[, colRange]) -> <UMat object>
cv.UMat(m, roi) -> <UMat object>
cv.UMat(m, ranges) -> <UMat object>

◆ UMat() [11/14]

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

◆ UMat() [12/14]

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

◆ UMat() [13/14]

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

从 std::vector 构建矩阵。数据始终会被复制。copyData 参数已弃用,并将在 OpenCV 5.0 中移除。

◆ ~UMat()

cv::UMat::~UMat ( )

析构函数 - 调用 release()

◆ UMat() [14/14]

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

成员函数说明

◆ 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

如果矩阵是 1 通道 (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

包含几个位域:

  • 魔术签名 (magic signature)
  • 连续性标志 (continuity flag)
  • depth
  • 通道数 (number of channels)

◆ 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

分配器的使用标志;建议不要直接设置,而是在 construct/create/getUMat 过程中设置


该类的文档由以下文件生成: