OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
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 中移动/调整当前 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) 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)
 返回指向第 y 行的指针
 
template<typename _Tp >
_Tpptr (int y=0)
 上述方法的模板版本
 
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
 ... 针对指定的行范围
 
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 ()
 默认分配器
 
static GpuMat::AllocatorgetStdAllocator (获取标准分配器) ()
 
static void setDefaultAllocator (GpuMat::Allocator *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())
explicit (显式)
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

默认构造函数

◆ 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 object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

构造指定大小和类型的 GpuMat

◆ GpuMat() [3/11]

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

◆ 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 object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

构造 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 object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

◆ GpuMat() [6/11]

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

拷贝构造函数

◆ 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 object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

指向用户分配数据的 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 object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

◆ GpuMat() [9/11]

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

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

◆ GpuMat() [10/11]

cv::cuda::GpuMat::GpuMat ( const GpuMat & m,
Rect roi (感兴趣区域) )
Python
cv.cuda.GpuMat([, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(rows, cols, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(size, type, s[, allocator]) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, rowRange, colRange) -> <cuda_GpuMat object>
cv.cuda.GpuMat(m, roi) -> <cuda_GpuMat object>
cv.cuda.GpuMat(arr[, allocator]) -> <cuda_GpuMat object>

◆ GpuMat() [11/11]

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

从主机内存构建 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 ) 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() [2/8]

void cv::cuda::GpuMat::convertTo ( GpuMat & 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() [3/8]

void cv::cuda::GpuMat::convertTo ( GpuMat & 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 转换为另一种数据类型的绑定重载 (非阻塞调用)

◆ 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
内联
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
内联
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
内联
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
内联
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) &  )
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) &  )
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) -> 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) &  )
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

包含几个位域:

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

◆ refcount

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

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

◆ rows

int cv::cuda::GpuMat::rows

行数和列数

◆ step

size_t cv::cuda::GpuMat::step

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


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