#include <opencv2/core/cuda.hpp>
|
| GpuMatND () |
| 默认构造函数
|
|
| GpuMatND (const GpuMatND &)=default |
|
| GpuMatND (GpuMatND &&) noexcept=default |
|
| GpuMatND (SizeArray size, int type) |
|
| GpuMatND (SizeArray size, int type, void *data, StepArray step=StepArray()) |
|
| ~GpuMatND () |
| 析构函数
|
|
GpuMatND | clone () const |
| 创建数组和底层数据的完整副本。此方法创建数组的完整副本。它模仿了 Mat::clone() 的行为,即不考虑原始步长。因此,数组副本是一个连续的数组,占用 total()*elemSize() 字节。
|
|
GpuMatND | clone (Stream &stream) const |
|
void | create (SizeArray size, int type) |
| 分配 GPU 内存。假设已经分配了一些 GPU 内存。在这种情况下,此方法可能会在特定条件下选择重用该 GPU 内存:它必须具有相同的大小和类型,不是外部分配的,GPU 内存是连续的(即 isContinuous() 为真),并且不是另一个 GpuMatND 的子矩阵(即 isSubmatrix() 为假)。换句话说,此方法保证此方法分配的 GPU 内存始终是连续的,并且不是另一个 GpuMatND 的子区域。
|
|
GpuMat | createGpuMatHeader () const |
|
GpuMat | createGpuMatHeader (IndexArray idx, Range rowRange, Range colRange) const |
| 为 n 维矩阵的二维平面部分创建一个 GpuMat 头。
|
|
void | download (OutputArray dst) const |
|
void | download (OutputArray dst, Stream &stream) const |
|
size_t | elemSize () const |
| 返回元素大小(以字节为单位)
|
|
size_t | elemSize1 () const |
| 返回元素通道的大小(以字节为单位)
|
|
bool | empty () const |
| 如果数据为空,则返回 true
|
|
bool | external () const |
| 如果非空且指向外部(用户分配的)GPU 内存,则返回 true
|
|
uchar * | getDevicePtr () const |
| 返回 GPU 内存第一个字节的指针
|
|
bool | isContinuous () const |
|
bool | isSubmatrix () const |
| 如果矩阵是另一个矩阵的子矩阵,则返回 true
|
|
| operator GpuMat () const |
| 如果此 GpuMatND 实际上是二维的,则提取 n 维矩阵的二维平面部分。它与 createGpuMatHeader() 的区别在于它克隆了此 GpuMatND 的一部分。
|
|
GpuMatND | operator() (const std::vector< Range > &ranges) const |
| 提取子矩阵。该运算符为 *this 的指定子数组创建新的头。该运算符为 O(1) 运算,即不复制矩阵数据。
|
|
GpuMat | operator() (IndexArray idx, Range rowRange, Range colRange) const |
| 提取 n 维矩阵的二维平面部分。它与 createGpuMatHeader(IndexArray, Range, Range) 的区别在于它将此 GpuMatND 的一部分克隆到返回的 GpuMat。
|
|
GpuMatND & | operator= (const GpuMatND &)=default |
|
GpuMatND & | operator= (GpuMatND &&) noexcept=default |
|
void | 释放 () |
|
void | swap (GpuMatND &m) noexcept |
|
size_t | total () const |
| 返回数组元素的总数
|
|
size_t | totalMemSize () const |
| 返回底层内存的大小(以字节为单位)
|
|
int | type () const |
| 返回元素类型
|
|
void | upload (InputArray src) |
|
void | 上传 (InputArray src, Stream &stream) |
|
◆ IndexArray
◆ SizeArray
◆ StepArray
◆ ~GpuMatND()
cv::cuda::GpuMatND::~GpuMatND |
( |
| ) |
|
◆ GpuMatND() [1/5]
cv::cuda::GpuMatND::GpuMatND |
( |
| ) |
|
◆ GpuMatND() [2/5]
cv::cuda::GpuMatND::GpuMatND |
( |
SizeArray | size, |
|
|
int | type ) |
这是一个重载的成员函数,为了方便提供。它与上面的函数只有接受的参数不同。
- 参数
-
size | 指定n维数组形状的整数数组。 |
type | 数组类型。使用CV_8UC1, ..., CV_16FC4 创建1-4通道矩阵,或 CV_8UC(n), ..., CV_64FC(n) 创建多通道(最多CV_CN_MAX通道)矩阵。 |
◆ GpuMatND() [3/5]
这是一个重载的成员函数,为了方便提供。它与上面的函数只有接受的参数不同。
- 参数
-
size | 指定n维数组形状的整数数组。 |
type | 数组类型。使用CV_8UC1, ..., CV_16FC4 创建1-4通道矩阵,或 CV_8UC(n), ..., CV_64FC(n) 创建多通道(最多CV_CN_MAX通道)矩阵。 |
data | 指向用户数据的指针。带有data和step参数的矩阵构造函数不分配矩阵数据。相反,它们只初始化指向指定数据的矩阵头,这意味着没有复制数据。此操作非常高效,可用于使用OpenCV函数处理外部数据。外部数据不会自动释放,因此您应该注意它。 |
step | 对于多维数组,_size.size() 或 _size.size()-1 个步长数组(如果指定,则最后一步必须等于元素大小,否则将添加为元素大小)。如果未指定,则假定矩阵是连续的。 |
◆ GpuMatND() [4/5]
cv::cuda::GpuMatND::GpuMatND |
( |
const GpuMatND & | | ) |
|
|
default |
◆ GpuMatND() [5/5]
cv::cuda::GpuMatND::GpuMatND |
( |
GpuMatND && | | ) |
|
|
defaultnoexcept |
◆ clone() [1/2]
GpuMatND cv::cuda::GpuMatND::clone |
( |
| ) |
const |
创建数组和底层数据的完整副本。此方法创建数组的完整副本。它模仿了 Mat::clone() 的行为,即不考虑原始步长。因此,数组副本是一个连续的数组,占用 total()*elemSize() 字节。
◆ clone() [2/2]
这是一个重载的成员函数,为了方便提供。它与上面的函数只有接受的参数不同。此重载是非阻塞的,因此即使复制操作未完成,它也可能返回。
◆ create()
void cv::cuda::GpuMatND::create |
( |
SizeArray | size, |
|
|
int | type ) |
◆ createGpuMatHeader() [1/2]
GpuMat cv::cuda::GpuMatND::createGpuMatHeader |
( |
| ) |
const |
◆ createGpuMatHeader() [2/2]
◆ download() [1/2]
void cv::cuda::GpuMatND::download |
( |
OutputArray | dst | ) |
const |
◆ download() [2/2]
◆ elemSize()
size_t cv::cuda::GpuMatND::elemSize |
( |
| ) |
const |
◆ elemSize1()
size_t cv::cuda::GpuMatND::elemSize1 |
( |
| ) |
const |
◆ empty()
bool cv::cuda::GpuMatND::empty |
( |
| ) |
const |
◆ external()
bool cv::cuda::GpuMatND::external |
( |
| ) |
const |
如果非空且指向外部(用户分配的)GPU 内存,则返回 true
◆ getDevicePtr()
uchar * cv::cuda::GpuMatND::getDevicePtr |
( |
| ) |
const |
◆ isContinuous()
bool cv::cuda::GpuMatND::isContinuous |
( |
| ) |
const |
◆ isSubmatrix()
bool cv::cuda::GpuMatND::isSubmatrix |
( |
| ) |
const |
◆ operator GpuMat()
cv::cuda::GpuMatND::operator GpuMat |
( |
| ) |
const |
◆ operator()() [1/2]
GpuMatND cv::cuda::GpuMatND::operator() |
( |
const std::vector< Range > & | ranges | ) |
const |
提取子矩阵。该运算符为 *this 的指定子数组创建新的头。该运算符为 O(1) 运算,即不复制矩阵数据。
- 参数
-
◆ operator()() [2/2]
提取 n 维矩阵的二维平面部分。它与 createGpuMatHeader(IndexArray, Range, Range) 的区别在于它将此 GpuMatND 的一部分克隆到返回的 GpuMat。
- 注意
- 此运算符不会增加此GpuMatND的引用计数器;
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ release()
void cv::cuda::GpuMatND::release |
( |
| ) |
|
◆ swap()
void cv::cuda::GpuMatND::swap |
( |
GpuMatND & | m | ) |
|
|
noexcept |
◆ total()
size_t cv::cuda::GpuMatND::total |
( |
| ) |
const |
◆ totalMemSize()
size_t cv::cuda::GpuMatND::totalMemSize |
( |
| ) |
const |
◆ type()
int cv::cuda::GpuMatND::type |
( |
| ) |
const |
◆ upload() [1/2]
◆ upload() [2/2]
◆ dims
int cv::cuda::GpuMatND::dims |
◆ flags
int cv::cuda::GpuMatND::flags |
◆ 尺寸
◆ 步长
此类的文档是从以下文件生成的