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

具有引用计数的 GPU 内存基存储类。 更多...

#include <opencv2/core/cuda.hpp>

cv::cuda::GpuMat 协作图

类  分配器
 

公有成员函数

 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 ROI 在父 GpuMat 中的大小
 
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
 ... for the specified column span
 
GpuMat colRange (Range r) const
 
void convertTo (GpuMat &dst, int rtype) const
 GpuMat 转换为另一种数据类型的绑定重载(阻塞调用)
 
void convertTo (GpuMat &dst, int rtype, double alpha, double beta, Stream &stream) 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)
 returns pointer to y-th row
 
template<typename _Tp >
_Tpptr (int y=0)
 template version of the above method
 
const ucharptr (int y=0) const
 
template<typename _Tp >
const _Tpptr (int y=0) const
 
void release ()
 引用计数递减,当引用计数达到 0 时释放数据
 
GpuMat reshape (int cn, int rows=0) const
 
GpuMat row (int y) const
 为指定行返回新的 GpuMat
 
GpuMat rowRange (int startrow, int endrow) const
 ... for the specified row span
 
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 大小:宽度 == 列数,高度 == 行数
 
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 ()
 default allocator
 
static GpuMat::AllocatorgetStdAllocator ()
 
static void setDefaultAllocator (GpuMat::Allocator *allocator)
 

公共属性

Allocator分配器
 分配器
 
int cols
 
uchardata
 指向数据的指针
 
const uchardataend
 
uchardatastart
 用于 locateROI 和 adjustROI 的辅助字段
 
int flags
 
int * refcount
 
int rows
 行数和列数
 
size_t step
 连续行之间的字节距离;如果存在间隙,则包括间隙
 

详细描述

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

其接口与 Mat 接口匹配,但有以下限制

  • 不支持任意维度(仅限 2D)
  • 没有返回对其数据引用的函数(因为 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())
显式
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() )
显式
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 ROI 在父 GpuMat 中的大小

◆ assignTo()

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

◆ 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

... for the specified column span

◆ 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 ) const
inline
Python
cv.cuda.GpuMat.convertTo(rtype[, dst]) -> dst
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,
double beta,
Stream & stream ) const
inline
Python
cv.cuda.GpuMat.convertTo(rtype[, dst]) -> dst
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[, dst]) -> dst
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[, dst]) -> dst
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[, dst]) -> dst
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[, dst]) -> dst
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[, dst]) -> dst
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 转换为另一种数据类型并进行缩放的绑定重载(阻塞调用)

GpuMat 转换为另一种数据类型并进行缩放(非阻塞调用)

◆ convertTo() [8/8]

void cv::cuda::GpuMat::convertTo ( OutputArray dst,
int rtype,
Stream & stream ) const
Python
cv.cuda.GpuMat.convertTo(rtype[, dst]) -> dst
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) ->
cv.cuda.GpuMat.create(size, type) ->

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

◆ create() [2/2]

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

◆ 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

default allocator

◆ 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) ->

在父 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)

returns pointer to y-th row

◆ ptr() [2/4]

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

template version of the above method

◆ 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() ->

引用计数递减,当引用计数达到 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

... for the specified row span

◆ 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 * 分配器)
static
Python
cv.cuda.GpuMat.setDefaultAllocator(分配器) ->
cv.cuda.GpuMat_setDefaultAllocator(分配器) ->

◆ 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 大小:宽度 == 列数,高度 == 行数

◆ 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) ->

与其它智能指针交换

◆ type()

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

返回元素类型

◆ updateContinuityFlag()

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

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

◆ upload() [1/2]

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

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

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

◆ upload() [2/2]

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

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

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

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

成员数据文档

◆ allocator

Allocator* cv::cuda::GpuMat::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

连续行之间的字节距离;如果存在间隙,则包括间隙


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