OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
cv::cuda::GpuMat 类参考

基于引用计数的 GPU 内存基本存储类。更多…

#include <opencv2/core/cuda.hpp>

cv::cuda::GpuMat 的协作图

类  Allocator
 

公有成员函数

 GpuMat (const GpuMat &m)
 复制构造函数
 
 GpuMat (const GpuMat &m, Range rowRange, Range colRange)
 为较大矩阵的一部分创建 GpuMat
 
 GpuMat (const GpuMat &m, Rect roi)
 
 GpuMat (GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 默认构造函数
 
 GpuMat (InputArray arr, GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 从主机内存构建 GpuMat(阻塞调用)
 
 GpuMat (int rows, int cols, int type, GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 构造指定大小和类型的 GpuMat
 
 GpuMat (int rows, int cols, int type, Scalar s, GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 构造 GpuMat 并用指定值 _s 填充它
 
 GpuMat (int rows, int cols, int type, void *data, size_t step=Mat::AUTO_STEP)
 指向用户分配数据的 GpuMat 头的构造函数
 
 GpuMat (Size size, int type, GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 
 GpuMat (Size size, int type, Scalar s, GpuMat::Allocator *allocator=GpuMat::defaultAllocator())
 
 GpuMat (Size size, int type, void *data, size_t step=Mat::AUTO_STEP)
 
 ~GpuMat ()
 析构函数 - 调用 release()
 
GpuMatadjustROI (int dtop, int dbottom, int dleft, int dright)
 在父 GpuMat 中移动/调整当前 GpuMat ROI
 
void assignTo (GpuMat &m, int type=-1) const
 
int channels () const
 返回通道数
 
GpuMat clone () const
 返回 GpuMat 的深拷贝,即数据被复制
 
GpuMat col (int x) const
 返回指定列的新 GpuMat
 
GpuMat colRange (int startcol, int endcol) const
 … 指定列范围
 
GpuMat colRange (Range r) const
 
void convertTo (GpuMat &dst, int rtype, double alpha, double beta, Stream &stream) const
 绑定重载,用于将GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)
 
void convertTo (GpuMat &dst, int rtype, double alpha=1.0, double beta=0.0) const
 绑定重载,用于将GpuMat转换为具有缩放功能的另一种数据类型(阻塞调用)
 
void convertTo (GpuMat &dst, int rtype, Stream &stream) const
 绑定重载,用于将GpuMat转换为另一种数据类型(非阻塞调用)
 
void convertTo (OutputArray dst, int rtype) const
 GpuMat转换为另一种数据类型(阻塞调用)
 
void convertTo (OutputArray dst, int rtype, double alpha, double beta, Stream &stream) const
 GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)
 
void convertTo (OutputArray dst, int rtype, double alpha, double beta=0.0) const
 GpuMat转换为具有缩放功能的另一种数据类型(阻塞调用)
 
void convertTo (OutputArray dst, int rtype, double alpha, Stream &stream) const
 GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)
 
void convertTo (OutputArray dst, int rtype, Stream &stream) const
 GpuMat转换为另一种数据类型(非阻塞调用)
 
void copyTo (GpuMat &dst) const
 绑定重载,用于将GpuMat内容复制到设备内存(阻塞调用)
 
void copyTo (GpuMat &dst, GpuMat &mask) const
 绑定重载,用于将GpuMat中被非零掩码元素标记的元素复制到“m”(阻塞调用)
 
void copyTo (GpuMat &dst, GpuMat &mask, Stream &stream) const
 绑定重载,用于将GpuMat中被非零掩码元素标记的元素复制到“m”(非阻塞调用)
 
void copyTo (GpuMat &dst, Stream &stream) const
 绑定重载,用于将GpuMat内容复制到设备内存(非阻塞调用)
 
void copyTo (OutputArray dst) const
 GpuMat内容复制到设备内存(阻塞调用)
 
void copyTo (OutputArray dst, InputArray mask) const
 GpuMat中被非零掩码元素标记的元素复制到“m”(阻塞调用)
 
void copyTo (OutputArray dst, InputArray mask, Stream &stream) const
 GpuMat中被非零掩码元素标记的元素复制到“m”(非阻塞调用)
 
void copyTo (OutputArray dst, Stream &stream) const
 GpuMat内容复制到设备内存(非阻塞调用)
 
void create (int rows, int cols, int type)
 除非GpuMat已经具有指定的大小和类型,否则分配新的GpuMat数据
 
void create (Size size, int type)
 
void * cudaPtr () const
 
int depth () const
 返回元素类型
 
void download (OutputArray dst) const
 GpuMat执行数据下载(阻塞调用)
 
void download (OutputArray dst, Stream &stream) const
 GpuMat下载数据(非阻塞调用)
 
size_t elemSize () const
 返回元素大小(以字节为单位)
 
size_t elemSize1 () const
 返回元素通道的大小(以字节为单位)
 
bool empty () const
 如果GpuMat数据为NULL,则返回true
 
bool isContinuous () const
 
void locateROI (Size &wholeSize, Point &ofs) const
 定位父GpuMat中的GpuMat
 
template<typename _Tp >
 operator PtrStep< _Tp > () const
 
template<typename _Tp >
 operator PtrStepSz< _Tp > () const
 
GpuMat operator() (Range rowRange, Range colRange) const
 提取矩形子GpuMat(这是row、rowRange等的泛化形式)
 
GpuMat operator() (Rect roi) const
 
GpuMatoperator= (const GpuMat &m)
 赋值运算符
 
ucharptr (int y=0)
 返回指向第y行的指针
 
template<typename _Tp >
_Tpptr (int y=0)
 上述方法的模板版本
 
const ucharptr (int y=0) const
 
template<typename _Tp >
const _Tpptr (int y=0) const
 
void 释放 ()
 递减引用计数器,当引用计数器达到0时释放数据
 
GpuMat reshape (int cn, int rows=0) const
 
GpuMat row (int y) const
 返回指定行的新的GpuMat
 
GpuMat rowRange (int startrow, int endrow) const
 …用于指定的行跨度
 
GpuMat rowRange (Range r) const
 
GpuMatsetTo (Scalar s)
 将一些GpuMat元素设置为s(阻塞调用)
 
GpuMatsetTo (Scalar s, InputArray mask)
 根据掩码将一些GpuMat元素设置为s(阻塞调用)
 
GpuMatsetTo (Scalar s, InputArray mask, Stream &stream)
 根据掩码将一些GpuMat元素设置为s(非阻塞调用)
 
GpuMatsetTo (Scalar s, Stream &stream)
 将一些GpuMat元素设置为s(非阻塞调用)
 
Size size () const
 返回GpuMat大小:width == 列数,height == 行数
 
size_t step1 () const
 返回step/elemSize1()
 
void swap (GpuMat &mat)
 与其他智能指针交换
 
int type () const
 返回元素类型
 
void updateContinuityFlag ()
 内部使用方法:更新连续性标志
 
void upload (InputArray arr)
 将数据上传到GpuMat(阻塞调用)
 
void upload (InputArray arr, Stream &stream)
 将数据上传到GpuMat(非阻塞调用)
 

静态公共成员函数

static GpuMat::AllocatordefaultAllocator ()
 默认分配器
 
static GpuMat::AllocatorgetStdAllocator ()
 
static void setDefaultAllocator (GpuMat::Allocator *allocator)
 

公共属性

Allocatorallocator
 allocator
 
int cols
 
uchardata
 指向数据的指针
 
const uchardataend
 
uchardatastart
 在locateROI和adjustROI中使用的辅助字段
 
int flags
 
int * refcount
 
int rows
 行数和列数
 
size_t step
 连续行之间的距离(以字节为单位);包括任何间隙
 

详细描述

具有引用计数的GPU内存的基本存储类。

它的接口与Mat接口匹配,但存在以下限制

  • 不支持任意维度(仅限二维)
  • 没有返回其数据引用的函数(因为GPU上的引用对于CPU无效)
  • 不支持表达式模板技术

注意,后一种限制可能会导致矩阵运算符过载,从而导致内存分配。 GpuMat 类可转换为 cuda::PtrStepSz 和 cuda::PtrStep,因此可以直接传递到内核。

注意
Mat 相比,在大多数情况下 GpuMat::isContinuous() == false。这意味着行会根据硬件对齐到特定大小。单行 GpuMat 始终是连续矩阵。
不建议保留已分配的静态或全局 GpuMat 变量,也就是说,不要依赖其析构函数。此类变量和 CUDA 上下文的销毁顺序未定义。如果 CUDA 上下文已销毁,则 GPU 内存释放函数将返回错误。

某些成员函数被描述为“阻塞调用”,而另一些则被描述为“非阻塞调用”。阻塞函数与主机同步。保证在函数返回时 GPU 操作已完成。但是,非阻塞函数与主机异步。即使 GPU 操作未完成,这些函数也可能返回。

与它们的阻塞对应函数相比,非阻塞函数接受 Stream 作为附加参数。如果传递非默认流,则 GPU 操作可能会与其他流中的操作重叠。

另请参阅
Mat

构造函数和析构函数文档

◆ GpuMat() [1/11]

cv::cuda::GpuMat::GpuMat ( GpuMat::Allocator * allocator = GpuMat::defaultAllocator())
explicit
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

默认构造函数

◆ GpuMat() [2/11]

cv::cuda::GpuMat::GpuMat ( int rows,
int cols,
int type,
GpuMat::Allocator * allocator = GpuMat::defaultAllocator() )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

构造指定大小和类型的 GpuMat

◆ GpuMat() [3/11]

cv::cuda::GpuMat::GpuMat ( Size size,
int type,
GpuMat::Allocator * allocator = GpuMat::defaultAllocator() )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

◆ GpuMat() [4/11]

cv::cuda::GpuMat::GpuMat ( int rows,
int cols,
int type,
Scalar s,
GpuMat::Allocator * allocator = GpuMat::defaultAllocator() )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

构造 GpuMat 并用指定值 _s 填充它

◆ GpuMat() [5/11]

cv::cuda::GpuMat::GpuMat ( Size size,
int type,
Scalar s,
GpuMat::Allocator * allocator = GpuMat::defaultAllocator() )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

◆ GpuMat() [6/11]

cv::cuda::GpuMat::GpuMat ( const GpuMat & m)
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

复制构造函数

◆ GpuMat() [7/11]

cv::cuda::GpuMat::GpuMat ( int rows,
int cols,
int type,
void * data,
size_t step = Mat::AUTO_STEP )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

指向用户分配数据的 GpuMat 头的构造函数

◆ GpuMat() [8/11]

cv::cuda::GpuMat::GpuMat ( Size size,
int type,
void * data,
size_t step = Mat::AUTO_STEP )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

◆ GpuMat() [9/11]

cv::cuda::GpuMat::GpuMat ( const GpuMat & m,
Range rowRange,
Range colRange )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

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

◆ GpuMat() [10/11]

cv::cuda::GpuMat::GpuMat ( const GpuMat & m,
Rect roi )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

◆ GpuMat() [11/11]

cv::cuda::GpuMat::GpuMat ( InputArray arr,
GpuMat::Allocator * allocator = GpuMat::defaultAllocator() )
explicit
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat 对象>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat 对象>

从主机内存构建 GpuMat(阻塞调用)

◆ ~GpuMat()

cv::cuda::GpuMat::~GpuMat ( )

析构函数 - 调用 release()

成员函数文档

◆ adjustROI()

GpuMat & cv::cuda::GpuMat::adjustROI ( int dtop,
int dbottom,
int dleft,
int dright )
Python
cv.cuda.GpuMat.adjustROI(dtop, dbottom, dleft, dright) -> retval

在父 GpuMat 中移动/调整当前 GpuMat ROI

◆ assignTo()

void cv::cuda::GpuMat::assignTo ( GpuMat & m,
int type = -1 ) const
Python
cv.cuda.GpuMat.assignTo(m[, type]) -> None

◆ channels()

int cv::cuda::GpuMat::channels ( ) const
Python
cv.cuda.GpuMat.channels() -> retval

返回通道数

◆ clone()

GpuMat cv::cuda::GpuMat::clone ( ) const
Python
cv.cuda.GpuMat.clone() -> retval

返回 GpuMat 的深拷贝,即数据被复制

◆ col()

GpuMat cv::cuda::GpuMat::col ( int x) const
Python
cv.cuda.GpuMat.col(x) -> retval

返回指定列的新 GpuMat

◆ colRange() [1/2]

GpuMat cv::cuda::GpuMat::colRange ( int startcol,
int endcol ) const
Python
cv.cuda.GpuMat.colRange(startcol, endcol) -> retval
cv.cuda.GpuMat.colRange(r) -> retval

… 指定列范围

◆ colRange() [2/2]

GpuMat cv::cuda::GpuMat::colRange ( Range r) const
Python
cv.cuda.GpuMat.colRange(startcol, endcol) -> retval
cv.cuda.GpuMat.colRange(r) -> retval

◆ convertTo() [1/8]

void cv::cuda::GpuMat::convertTo ( GpuMat & dst,
int rtype,
double alpha,
double beta,
Stream & stream ) const
inline
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

绑定重载,用于将GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)

◆ convertTo() [2/8]

void cv::cuda::GpuMat::convertTo ( GpuMat & dst,
int rtype,
double alpha = 1.0,
double beta = 0.0 ) const
inline
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

绑定重载,用于将GpuMat转换为具有缩放功能的另一种数据类型(阻塞调用)

◆ convertTo() [3/8]

void cv::cuda::GpuMat::convertTo ( GpuMat & dst,
int rtype,
Stream & stream ) const
inline
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

绑定重载,用于将GpuMat转换为另一种数据类型(非阻塞调用)

◆ convertTo() [4/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype ) const
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

GpuMat转换为另一种数据类型(阻塞调用)

◆ convertTo() [5/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype,
double alpha,
double beta,
Stream & stream ) const
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)

◆ convertTo() [6/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype,
double alpha,
double beta = 0.0 ) const
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

GpuMat转换为具有缩放功能的另一种数据类型(阻塞调用)

◆ convertTo() [7/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype,
double alpha,
Stream & stream ) const
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

GpuMat转换为具有缩放功能的另一种数据类型(非阻塞调用)

◆ convertTo() [8/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype,
Stream & stream ) const
Python
cv.cuda.GpuMat.convertTo(rtype, stream[, dst]) -> dst
cv.cuda.GpuMat.convertTo(rtype[, dst[, alpha[, beta]]]) -> dst
cv.cuda.GpuMat.convertTo(rtype, alpha, beta, stream[, dst]) -> dst

GpuMat转换为另一种数据类型(非阻塞调用)

◆ copyTo() [1/8]

void cv::cuda::GpuMat::copyTo ( GpuMat & dst) const
inline
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

绑定重载,用于将GpuMat内容复制到设备内存(阻塞调用)

此函数的调用图如下所示

◆ copyTo() [2/8]

void cv::cuda::GpuMat::copyTo ( GpuMat & dst,
GpuMat & mask ) const
inline
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

绑定重载,用于将GpuMat中被非零掩码元素标记的元素复制到“m”(阻塞调用)

此函数的调用图如下所示

◆ copyTo() [3/8]

void cv::cuda::GpuMat::copyTo ( GpuMat & dst,
GpuMat & mask,
Stream & stream ) const
inline
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

绑定重载,用于将GpuMat中被非零掩码元素标记的元素复制到“m”(非阻塞调用)

此函数的调用图如下所示

◆ copyTo() [4/8]

void cv::cuda::GpuMat::copyTo ( GpuMat & dst,
Stream & stream ) const
inline
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

绑定重载,用于将GpuMat内容复制到设备内存(非阻塞调用)

此函数的调用图如下所示

◆ copyTo() [5/8]

void cv::cuda::GpuMat::copyTo ( OutputArray dst) const
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

GpuMat内容复制到设备内存(阻塞调用)

◆ copyTo() [6/8]

void cv::cuda::GpuMat::copyTo ( OutputArray dst,
InputArray mask ) const
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

GpuMat中被非零掩码元素标记的元素复制到“m”(阻塞调用)

◆ copyTo() [7/8]

void cv::cuda::GpuMat::copyTo ( OutputArray dst,
InputArray mask,
Stream & stream ) const
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

GpuMat中被非零掩码元素标记的元素复制到“m”(非阻塞调用)

◆ copyTo() [8/8]

void cv::cuda::GpuMat::copyTo ( OutputArray dst,
Stream & stream ) const
Python
cv.cuda.GpuMat.copyTo([, dst]) -> dst
cv.cuda.GpuMat.copyTo(stream[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask[, dst]) -> dst
cv.cuda.GpuMat.copyTo(mask, stream[, dst]) -> dst

GpuMat内容复制到设备内存(非阻塞调用)

◆ create() [1/2]

void cv::cuda::GpuMat::create ( int rows,
int cols,
int type )
Python
cv.cuda.GpuMat.create(rows, cols, type) -> None
cv.cuda.GpuMat.create(size, type) -> None

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

◆ create() [2/2]

void cv::cuda::GpuMat::create ( Size size,
int type )
Python
cv.cuda.GpuMat.create(rows, cols, type) -> None
cv.cuda.GpuMat.create(size, type) -> None

◆ cudaPtr()

void * cv::cuda::GpuMat::cudaPtr ( ) const
Python
cv.cuda.GpuMat.cudaPtr() -> retval

◆ defaultAllocator()

static GpuMat::Allocator * cv::cuda::GpuMat::defaultAllocator ( )
static
Python
cv.cuda.GpuMat.defaultAllocator() -> retval
cv.cuda.GpuMat_defaultAllocator() -> retval

默认分配器

◆ depth()

int cv::cuda::GpuMat::depth ( ) const
Python
cv.cuda.GpuMat.depth() -> retval

返回元素类型

◆ download() [1/2]

void cv::cuda::GpuMat::download ( OutputArray dst) const
Python
cv.cuda.GpuMat.download([, dst]) -> dst
cv.cuda.GpuMat.download(stream[, dst]) -> dst

GpuMat执行数据下载(阻塞调用)

此函数将数据从设备内存复制到主机内存。作为阻塞调用,保证复制操作在此函数返回时完成。

◆ download() [2/2]

void cv::cuda::GpuMat::download ( OutputArray dst,
Stream & stream ) const
Python
cv.cuda.GpuMat.download([, dst]) -> dst
cv.cuda.GpuMat.download(stream[, dst]) -> dst

GpuMat下载数据(非阻塞调用)

此函数将数据从设备内存复制到主机内存。作为非阻塞调用,即使复制操作未完成,此函数也可能返回。

如果`stream`不是默认流且`dst`是使用HostMem::PAGE_LOCKED选项分配的HostMem,则复制操作可能与其他非默认流中的操作重叠。

◆ elemSize()

size_t cv::cuda::GpuMat::elemSize ( ) const
Python
cv.cuda.GpuMat.elemSize() -> retval

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

◆ elemSize1()

size_t cv::cuda::GpuMat::elemSize1 ( ) const
Python
cv.cuda.GpuMat.elemSize1() -> retval

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

◆ empty()

bool cv::cuda::GpuMat::empty ( ) const
Python
cv.cuda.GpuMat.empty() -> retval

如果GpuMat数据为NULL,则返回true

◆ getStdAllocator()

static GpuMat::Allocator * cv::cuda::GpuMat::getStdAllocator ( )
static
Python
cv.cuda.GpuMat.getStdAllocator() -> retval
cv.cuda.GpuMat_getStdAllocator() -> retval

◆ isContinuous()

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

如果GpuMat数据连续(即连续行之间没有间隙),则返回true。

◆ locateROI()

void cv::cuda::GpuMat::locateROI ( Size & wholeSize,
Point & ofs ) const
Python
cv.cuda.GpuMat.locateROI(wholeSize, ofs) -> None

定位父GpuMat中的GpuMat

◆ operator PtrStep< _Tp >()

template<typename _Tp >
cv::cuda::GpuMat::operator PtrStep< _Tp > ( ) const

◆ operator PtrStepSz< _Tp >()

template<typename _Tp >
cv::cuda::GpuMat::operator PtrStepSz< _Tp > ( ) const

◆ operator()() [1/2]

GpuMat cv::cuda::GpuMat::operator() ( Range rowRange,
Range colRange ) const

提取矩形子GpuMat(这是row、rowRange等的泛化形式)

◆ operator()() [2/2]

GpuMat cv::cuda::GpuMat::operator() ( Rect roi) const

◆ operator=()

GpuMat & cv::cuda::GpuMat::operator= ( const GpuMat & m)

赋值运算符

◆ ptr() [1/4]

uchar * cv::cuda::GpuMat::ptr ( int y = 0)

返回指向第y行的指针

◆ ptr() [2/4]

template<typename _Tp >
_Tp * cv::cuda::GpuMat::ptr ( int y = 0)

上述方法的模板版本

◆ ptr() [3/4]

const uchar * cv::cuda::GpuMat::ptr ( int y = 0) const

◆ ptr() [4/4]

template<typename _Tp >
const _Tp * cv::cuda::GpuMat::ptr ( int y = 0) const

◆ release()

void cv::cuda::GpuMat::release ( )
Python
cv.cuda.GpuMat.release() -> None

递减引用计数器,当引用计数器达到0时释放数据

◆ reshape()

GpuMat cv::cuda::GpuMat::reshape ( int cn,
int rows = 0 ) const
Python
cv.cuda.GpuMat.reshape(cn[, rows]) -> retval

为相同数据创建替代的GpuMat头,具有不同的通道数和/或不同的行数。

◆ row()

GpuMat cv::cuda::GpuMat::row ( int y) const
Python
cv.cuda.GpuMat.row(y) -> retval

返回指定行的新的GpuMat

◆ rowRange() [1/2]

GpuMat cv::cuda::GpuMat::rowRange ( int startrow,
int endrow ) const
Python
cv.cuda.GpuMat.rowRange(startrow, endrow) -> retval
cv.cuda.GpuMat.rowRange(r) -> retval

…用于指定的行跨度

◆ rowRange() [2/2]

GpuMat cv::cuda::GpuMat::rowRange ( Range r) const
Python
cv.cuda.GpuMat.rowRange(startrow, endrow) -> retval
cv.cuda.GpuMat.rowRange(r) -> retval

◆ setDefaultAllocator()

static void cv::cuda::GpuMat::setDefaultAllocator ( GpuMat::Allocator * allocator)
static
Python
cv.cuda.GpuMat.setDefaultAllocator(allocator) -> None
cv.cuda.GpuMat_setDefaultAllocator(allocator) -> None

◆ setTo() [1/4]

GpuMat & cv::cuda::GpuMat::setTo ( Scalar s)
Python
cv.cuda.GpuMat.setTo(s) -> retval
cv.cuda.GpuMat.setTo(s, stream) -> retval
cv.cuda.GpuMat.setTo(s, mask) -> retval
cv.cuda.GpuMat.setTo(s, mask, stream) -> retval

将一些GpuMat元素设置为s(阻塞调用)

◆ setTo() [2/4]

GpuMat & cv::cuda::GpuMat::setTo ( Scalar s,
InputArray mask )
Python
cv.cuda.GpuMat.setTo(s) -> retval
cv.cuda.GpuMat.setTo(s, stream) -> retval
cv.cuda.GpuMat.setTo(s, mask) -> retval
cv.cuda.GpuMat.setTo(s, mask, stream) -> retval

根据掩码将一些GpuMat元素设置为s(阻塞调用)

◆ setTo() [3/4]

GpuMat & cv::cuda::GpuMat::setTo ( Scalar s,
InputArray mask,
Stream & stream )
Python
cv.cuda.GpuMat.setTo(s) -> retval
cv.cuda.GpuMat.setTo(s, stream) -> retval
cv.cuda.GpuMat.setTo(s, mask) -> retval
cv.cuda.GpuMat.setTo(s, mask, stream) -> retval

根据掩码将一些GpuMat元素设置为s(非阻塞调用)

◆ setTo() [4/4]

GpuMat & cv::cuda::GpuMat::setTo ( Scalar s,
Stream & stream )
Python
cv.cuda.GpuMat.setTo(s) -> retval
cv.cuda.GpuMat.setTo(s, stream) -> retval
cv.cuda.GpuMat.setTo(s, mask) -> retval
cv.cuda.GpuMat.setTo(s, mask, stream) -> retval

将一些GpuMat元素设置为s(非阻塞调用)

◆ size()

Size cv::cuda::GpuMat::size ( ) const
Python
cv.cuda.GpuMat.size() -> retval

返回GpuMat大小:width == 列数,height == 行数

◆ step1()

size_t cv::cuda::GpuMat::step1 ( ) const
Python
cv.cuda.GpuMat.step1() -> retval

返回step/elemSize1()

◆ swap()

void cv::cuda::GpuMat::swap ( GpuMat & mat)
Python
cv.cuda.GpuMat.swap(mat) -> None

与其他智能指针交换

◆ type()

int cv::cuda::GpuMat::type ( ) const
Python
cv.cuda.GpuMat.type() -> retval

返回元素类型

◆ updateContinuityFlag()

void cv::cuda::GpuMat::updateContinuityFlag ( )
Python
cv.cuda.GpuMat.updateContinuityFlag() -> None

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

◆ upload() [1/2]

void cv::cuda::GpuMat::upload ( InputArray arr)
Python
cv.cuda.GpuMat.upload(arr) -> None
cv.cuda.GpuMat.upload(arr, stream) -> None

将数据上传到GpuMat(阻塞调用)

此函数将数据从主机内存复制到设备内存。作为一个阻塞调用,保证复制操作在此函数返回时完成。

◆ upload() [2/2]

void cv::cuda::GpuMat::upload ( InputArray arr,
Stream & stream )
Python
cv.cuda.GpuMat.upload(arr) -> None
cv.cuda.GpuMat.upload(arr, stream) -> None

将数据上传到GpuMat(非阻塞调用)

此函数将数据从主机内存复制到设备内存。作为一个非阻塞调用,即使复制操作未完成,此函数也可能返回。

如果`stream`不是默认流且`dst`是使用HostMem::PAGE_LOCKED选项分配的HostMem,则复制操作可能与其他非默认流中的操作重叠。

成员数据文档

◆ allocator

Allocator* cv::cuda::GpuMat::allocator

allocator

◆ cols

int cv::cuda::GpuMat::cols

◆ data

uchar* cv::cuda::GpuMat::data

指向数据的指针

◆ dataend

const uchar* cv::cuda::GpuMat::dataend

◆ datastart

uchar* cv::cuda::GpuMat::datastart

在locateROI和adjustROI中使用的辅助字段

◆ flags

int cv::cuda::GpuMat::flags

包含多个位域

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

◆ refcount

int* cv::cuda::GpuMat::refcount

指向引用计数器的指针;当GpuMat指向用户分配的数据时,该指针为NULL

◆ rows

int cv::cuda::GpuMat::rows

行数和列数

◆ step

size_t cv::cuda::GpuMat::step

连续行之间的距离(以字节为单位);包括任何间隙


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