![]() |
OpenCV 5.0.0
Open Source Computer Vision
|
#include <opencv2/core/cuda.hpp>
公開型 | |
| using | IndexArray = std::vector<int> |
| using | SizeArray = MatShape |
| using | StepArray = std::vector<size_t> |
公開メンバ関数 | |
| GpuMatND () | |
| デフォルトコンストラクタ | |
| GpuMatND (const GpuMatND &)=default | |
| GpuMatND (const MatShape &shape, int type) | |
| GpuMatND (const MatShape &shape, int type, void *data, StepArray step=StepArray()) | |
| GpuMatND (GpuMatND &&) noexcept=default | |
| ~GpuMatND () | |
| デストラクタ | |
| GpuMatND | clone () const |
| 配列と、その基盤となるデータの完全なコピーを作成する。このメソッドは配列の完全なコピーを作成する。Mat::clone() の挙動を模倣する。すなわち、元のステップは考慮されない。したがって、配列のコピーは total()*elemSize() バイトを占める連続配列となる。 | |
| GpuMatND | clone (Stream &stream) const |
| void | create (const MatShape &shape, 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次元行列の2次元平面部分に対する 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 を返す | |
| void | fit (const MatShape &shape, int type) |
| 要求されたn次元のサイズと型に合うように、基盤となるストレージを確保または再利用する。 | |
| uchar * | getDevicePtr () const |
| GPUメモリの先頭バイトへのポインタを返す | |
| bool | isContinuous () const |
| bool | isSubmatrix () const |
| 行列が別の行列の部分行列である場合に true を返す | |
| operator GpuMat () const | |
| この GpuMatND が実質的に2次元である場合に、n次元行列の2次元平面部分を抽出する。この GpuMatND の一部を複製する点で createGpuMatHeader() とは異なる。 | |
| GpuMatND | operator() (const std::vector< Range > &ranges) const |
| 部分行列を抽出する。この演算子は *this の指定された部分配列に対する新しいヘッダを作成する。この演算子はO(1)の操作であり、すなわち行列データはコピーされない。 | |
| GpuMat | operator() (IndexArray idx, Range rowRange, Range colRange) const |
| n次元行列の2次元平面部分を抽出する。この GpuMatND の一部を、返される GpuMat に複製する点で createGpuMatHeader(IndexArray, Range, Range) とは異なる。 | |
| 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 | upload (InputArray src) |
| void | upload (InputArray src, Stream &stream) |
公開変数類 | |
| int | dims |
| 行列の次元数 | |
| int | flags |
| MatShape | size |
| この配列の形状 | |
| StepArray | step |
| using cv::cuda::GpuMatND::IndexArray = std::vector<int> |
| using cv::cuda::GpuMatND::StepArray = std::vector<size_t> |
| cv::cuda::GpuMatND::~GpuMatND | ( | ) |
デストラクタ
| cv::cuda::GpuMatND::GpuMatND | ( | ) |
デフォルトコンストラクタ
| cv::cuda::GpuMatND::GpuMatND | ( | const MatShape & | shape, |
| int | type ) |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| shape | n次元配列の形状を指定する整数の配列。 |
| type | 配列の型。1〜4チャンネルの行列を作成するには CV_8UC1, ..., CV_16FC4 を使い、マルチチャンネル(最大 CV_CN_MAX チャンネル)の行列を作成するには CV_8UC(n), ..., CV_64FC(n) を使う。 |
| cv::cuda::GpuMatND::GpuMatND | ( | const MatShape & | shape, |
| int | type, | ||
| void * | data, | ||
| StepArray | step = StepArray() ) |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| shape | n次元配列の形状を指定する整数の配列。 |
| type | 配列の型。1〜4チャンネルの行列を作成するには CV_8UC1, ..., CV_16FC4 を使い、マルチチャンネル(最大 CV_CN_MAX チャンネル)の行列を作成するには CV_8UC(n), ..., CV_64FC(n) を使う。 |
| data | ユーザーデータへのポインタ。dataおよびstep引数を取る行列コンストラクタは行列データを確保しない。代わりに、指定されたデータを指す行列ヘッダを初期化するだけであり、データはコピーされない。この操作は非常に効率的で、OpenCVの関数を使って外部データを処理するために利用できる。外部データは自動的には解放されないため、自分で管理する必要がある。 |
| step | 多次元配列の場合、shape.size() 個または shape.size()-1 個のステップからなる配列(指定する場合、最後のステップは要素サイズと等しくなければならず、そうでなければそのように追加される)。指定しない場合、行列は連続であると仮定される。 |
|
default |
|
defaultnoexcept |
| GpuMatND cv::cuda::GpuMatND::clone | ( | ) | const |
配列とその基となるデータの完全なコピーを生成する。このメソッドは配列の完全なコピーを生成する。Mat::clone() の動作を模倣しており、すなわち元の step は考慮されない。したがって、配列のコピーは total()*elemSize() バイトを占有する連続した配列となる。
これはオーバーロードされたメンバ関数であり、利便性のために提供されている。受け取る引数が上記の関数と異なるだけである。このオーバーロードはノンブロッキングであるため、コピー操作が完了していなくても返ることがある。
| void cv::cuda::GpuMatND::create | ( | const MatShape & | shape, |
| int | type ) |
GPUメモリを確保する。すでにGPUメモリが確保されている場合を考える。その場合、このメソッドは特定の条件下でそのGPUメモリを再利用することを選択する可能性がある。条件とは、同じサイズおよび型であること、外部で確保されたものでないこと、GPUメモリが連続していること(すなわち isContinuous() が true であること)、および他の GpuMatND の部分行列でないこと(すなわち isSubmatrix() が false であること)である。言い換えれば、このメソッドは、このメソッドによって確保されるGPUメモリが常に連続しており、他の GpuMatND の部分領域でないことを保証する。
| GpuMat cv::cuda::GpuMatND::createGpuMatHeader | ( | ) | const |
| GpuMat cv::cuda::GpuMatND::createGpuMatHeader | ( | IndexArray | idx, |
| Range | rowRange, | ||
| Range | colRange ) const |
| void cv::cuda::GpuMatND::download | ( | OutputArray | dst | ) | const |
| void cv::cuda::GpuMatND::download | ( | OutputArray | dst, |
| Stream & | stream ) const |
| size_t cv::cuda::GpuMatND::elemSize | ( | ) | const |
要素サイズをバイト単位で返す
| size_t cv::cuda::GpuMatND::elemSize1 | ( | ) | const |
要素のチャンネルのサイズをバイト単位で返す
| bool cv::cuda::GpuMatND::empty | ( | ) | const |
データが null の場合に true を返す
| bool cv::cuda::GpuMatND::external | ( | ) | const |
空でなく、かつ外部(ユーザが確保した)GPUメモリを指している場合に true を返す
| void cv::cuda::GpuMatND::fit | ( | const MatShape & | shape, |
| int | type ) |
要求されたn次元のサイズと型に合うように、基盤となるストレージを確保または再利用する。
| uchar * cv::cuda::GpuMatND::getDevicePtr | ( | ) | const |
GPUメモリの先頭バイトへのポインタを返す
| bool cv::cuda::GpuMatND::isContinuous | ( | ) | const |
GpuMatND のデータが連続している(すなわち連続する行の間に隙間がない)場合にのみ true を返す
| bool cv::cuda::GpuMatND::isSubmatrix | ( | ) | const |
行列が他の行列の部分行列である場合に true を返す
| cv::cuda::GpuMatND::operator GpuMat | ( | ) | const |
この GpuMatND が実質的に2次元である場合に、n次元行列の2次元平面部分を抽出する。この GpuMatND の一部を複製する点で createGpuMatHeader() とは異なる。
部分行列を抽出する。この演算子は *this の指定した部分配列に対する新しいヘッダを生成する。この演算子は O(1) の操作であり、すなわち行列データはコピーされない。
| ranges | 各次元に沿って選択された範囲の配列。 |
| GpuMat cv::cuda::GpuMatND::operator() | ( | IndexArray | idx, |
| Range | rowRange, | ||
| Range | colRange ) const |
| void cv::cuda::GpuMatND::release | ( | ) |
|
noexcept |
| size_t cv::cuda::GpuMatND::total | ( | ) | const |
配列要素の総数を返す
| size_t cv::cuda::GpuMatND::totalMemSize | ( | ) | const |
基となるメモリのサイズをバイト単位で返す
| int cv::cuda::GpuMatND::type | ( | ) | const |
要素の型を返す
| void cv::cuda::GpuMatND::upload | ( | InputArray | src | ) |
| void cv::cuda::GpuMatND::upload | ( | InputArray | src, |
| Stream & | stream ) |
| int cv::cuda::GpuMatND::dims |
行列の次元数
| int cv::cuda::GpuMatND::flags |
いくつかのビットフィールドを含む:
| MatShape cv::cuda::GpuMatND::size |
この配列の形状