OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
没有匹配结果
| 公共成员函数 | 静态公共成员函数 | 公共属性 | 所有成员列表
cv::cuda::GpuMat 类参考

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

#include <opencv2/core/cuda.hpp>

cv::cuda::GpuMat 的协作图

class  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 (范围 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 数据,除非已经指定大小和类型
 
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(这是行、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(非阻塞调用)
 
Sizesize() 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 void setDefaultAllocator (GpuMat::Allocator *allocator)
 

公共属性

Allocatorallocator
 allocator
 
int cols
 
uchardata
 数据指针
 
const uchardataend
 
uchardatastart
 定位 ROI 和调整 ROI 使用的辅助字段
 
int flags
 
int * refcount
 
int rows
 行数和列数
 
size_t step
 连续行的字节间距;包含任何间隙
 

详细说明

GpuMat 的内存基本存储类,使用引用计数。

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

请注意,此限制可能导致过载矩阵运算符,从而引起内存分配。类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 ( 输入数组  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,
输入数组  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,
输入数组  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 数据,除非已经指定大小和类型

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

静态 GpuMat::Allocator * cv::cuda::GpuMat::defaultAllocator ( )
静态
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

◆ isContinuous()

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

如果elseif 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(这是行、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)
静态
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,
输入数组  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,
输入数组  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) -> 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 ( 输入数组  arr)
Python
cv.cuda.GpuMat.upload(arr) -> None
cv.cuda.GpuMat.upload(arr, stream) -> None

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

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

◆ upload() [2/2]

void cv::cuda::GpuMat::upload ( 输入数组  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

定位 ROI 和调整 ROI 使用的辅助字段

◆ 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

连续行的字节间距;包含任何间隙


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