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 過程中設定


該類的文件由以下檔案生成: