#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 维矩阵的 2D 平面部分创建 GpuMat 头。
|
|
void | download (OutputArray dst) const |
|
void | download (OutputArray dst, Stream &stream) const |
|
size_t | elemSize () const |
| 返回以字节为单位的元素大小
|
|
size_t | elemSize1 () const |
| 返回以字节为单位的元素通道大小
|
|
bool | empty () const |
| 如果数据为 null,则返回 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 | upload (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 | 指向用户数据的指针。接收数据和步长参数的矩阵构造函数不会分配矩阵数据。相反,它们只初始化指向指定数据的矩阵头,这意味着不会复制任何数据。此操作非常有效,可用于使用 OpenCV 函数处理外部数据。外部数据不会自动释放,因此您应该注意它。 |
step | 如果为多维数组,则为 _size.size()-1 步的数组(最后一步始终设置为元素大小)。如果未指定,则假定矩阵为连续的。 |
◆ GpuMatND() [4/5]
cv::cuda::GpuMatND::GpuMatND |
( |
const GpuMatND & |
| ) |
|
|
默认 |
◆ GpuMatND() [5/5]
cv::cuda::GpuMatND::GpuMatND |
( |
GpuMatND && |
| ) |
|
|
默认noexcept |
◆ 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 |
这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。如果此 GpuMatND 实际上是 2D,则创建一个 GpuMat 头文件。
- 注意
- 返回的 GpuMat 是使用用户分配数据的构造函数构建的。也就是说,它不执行引用计数。
- 此函数不会增加此 GpuMatND 的引用计数器。
◆ createGpuMatHeader() [2/2]
为 n 维矩阵的 2D 平面部分创建 GpuMat 头。
- 注意
- 返回的 GpuMat 是使用用户分配数据的构造函数构建的。也就是说,它不执行引用计数。
- 此函数不会增加此 GpuMatND 的引用计数器。
◆ 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 |
如果 GpuMatND 数据是连续的(即当连续的行之间没有间隙时),则返回 true。
◆ 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 > & |
范围 | ) |
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 |
◆ size
◆ step
此类的文档是从以下文件生成的