#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() 為 true),並且不是另一個 GpuMatND 的子矩陣(即 isSubmatrix() 為 false)。換句話說,此方法保證由它分配的 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 |
| | 如果資料為空,則返回 true
|
| |
| bool | external () const |
| | 如果非空且指向外部(使用者分配的)GPU 記憶體,則返回 true
|
| |
| uchar * | getDevicePtr () const |
| | 返回指向 GPU 記憶體第一個位元組的指標
|
| |
| bool | isContinuous () const |
| |
| bool | isSubmatrix () const |
| | 如果矩陣是另一個矩陣的子矩陣,則返回 true
|
| |
| | operator GpuMat () const |
| | 如果此 GpuMatND 實際上是 2D 的,則提取 N 維矩陣的 2D 平面部分。它與 createGpuMatHeader() 的不同之處在於它克隆了此 GpuMatND 的一部分。
|
| |
| GpuMatND | operator() (const std::vector< Range > &ranges) const |
| | 提取子矩陣。此運算子為 *this 的指定子陣列建立一個新頭。此操作是 O(1) 操作,即不復制矩陣資料。
|
| |
| GpuMat | operator() (IndexArray idx, Range rowRange, Range colRange) const |
| | 提取 N 維矩陣的 2D 平面部分。它與 createGpuMatHeader(IndexArray, Range, Range) 的不同之處在於它將此 GpuMatND 的一部分克隆到返回的 GpuMat。
|
| |
| GpuMatND & | operator= (const GpuMatND &)=default |
| |
| GpuMatND & | operator= (GpuMatND &&) noexcept=default |
| |
| void | release () |
| |
| void | swap (GpuMatND &m) noexcept |
| |
| size_t | total () const |
| | 返回陣列元素的總數
|
| |
| size_t | totalMemSize () const |
| | 返回底層記憶體的大小(以位元組為單位)
|
| |
| int | type () const |
| | 返回元素型別
|
| |
| void | 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 | 指向使用者資料的指標。接受 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 ) |
分配 GPU 記憶體。假設已經分配了一些 GPU 記憶體。在這種情況下,此方法可以選擇在特定條件下重用該 GPU 記憶體:它必須具有相同的尺寸和型別,不是外部分配的,GPU 記憶體是連續的(即 isContinuous() 為 true),並且不是另一個 GpuMatND 的子矩陣(即 isSubmatrix() 為 false)。換句話說,此方法保證由它分配的 GPU 記憶體始終是連續的,並且不是另一個 GpuMatND 的子區域。
◆ 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 |
◆ 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 維矩陣的 2D 平面部分。它與 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
本類的文件生成自以下檔案: