OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

#include <opencv2/core/cuda.hpp>

Collaboration diagram for cv::cuda::GpuMatND:

公開型

using IndexArray = std::vector<int>
 
using SizeArray = std::vector<int>
 
using StepArray = std::vector<size_t>
 

公開メンバ関数

 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次元行列の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 を返す
 
uchargetDevicePtr () 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) とは異なる。
 
GpuMatNDoperator= (const GpuMatND &)=default
 
GpuMatNDoperator= (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
 
SizeArray size
 この配列の形状
 
StepArray step
 

型定義メンバ詳解

◆ IndexArray

using cv::cuda::GpuMatND::IndexArray = std::vector<int>

◆ SizeArray

using cv::cuda::GpuMatND::SizeArray = std::vector<int>

◆ StepArray

using cv::cuda::GpuMatND::StepArray = std::vector<size_t>

構築子と解体子の詳解

◆ ~GpuMatND()

cv::cuda::GpuMatND::~GpuMatND ( )

デストラクタ

◆ GpuMatND() [1/5]

cv::cuda::GpuMatND::GpuMatND ( )

デフォルトコンストラクタ

◆ GpuMatND() [2/5]

cv::cuda::GpuMatND::GpuMatND ( SizeArray size,
int type )

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

引数
sizen次元配列の形状を指定する整数の配列。
type配列の型。1〜4チャンネルの行列を作成するには CV_8UC1, ..., CV_16FC4 を使い、マルチチャンネル(最大 CV_CN_MAX チャンネル)の行列を作成するには CV_8UC(n), ..., CV_64FC(n) を使う。

◆ GpuMatND() [3/5]

cv::cuda::GpuMatND::GpuMatND ( SizeArray size,
int type,
void * data,
StepArray step = StepArray() )

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

引数
sizen次元配列の形状を指定する整数の配列。
type配列の型。1〜4チャンネルの行列を作成するには CV_8UC1, ..., CV_16FC4 を使い、マルチチャンネル(最大 CV_CN_MAX チャンネル)の行列を作成するには CV_8UC(n), ..., CV_64FC(n) を使う。
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() の動作を模倣しており、すなわち元の step は考慮されない。したがって、配列のコピーは total()*elemSize() バイトを占有する連続した配列となる。

◆ clone() [2/2]

GpuMatND cv::cuda::GpuMatND::clone ( Stream & stream) const

これはオーバーロードされたメンバ関数であり、利便性のために提供されている。受け取る引数が上記の関数と異なるだけである。このオーバーロードはノンブロッキングであるため、コピー操作が完了していなくても返ることがある。

◆ 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 が実質的に2次元である場合に、GpuMat ヘッダを生成する。

覚え書き
返される GpuMat は、ユーザが確保したデータ用のコンストラクタを用いて構築される。すなわち参照カウントを行わない。
この関数は、この GpuMatND の参照カウンタをインクリメントしない。

◆ createGpuMatHeader() [2/2]

GpuMat cv::cuda::GpuMatND::createGpuMatHeader ( IndexArray idx,
Range rowRange,
Range colRange ) const

n次元行列の2次元平面部分に対する GpuMat ヘッダを生成する。

覚え書き
返される GpuMat は、ユーザが確保したデータ用のコンストラクタを用いて構築される。すなわち参照カウントを行わない。
この関数は、この GpuMatND の参照カウンタをインクリメントしない。

◆ download() [1/2]

void cv::cuda::GpuMatND::download ( OutputArray dst) const

◆ download() [2/2]

void cv::cuda::GpuMatND::download ( OutputArray dst,
Stream & stream ) const

◆ elemSize()

size_t cv::cuda::GpuMatND::elemSize ( ) const

要素サイズをバイト単位で返す

◆ elemSize1()

size_t cv::cuda::GpuMatND::elemSize1 ( ) const

要素のチャンネルのサイズをバイト単位で返す

◆ empty()

bool cv::cuda::GpuMatND::empty ( ) const

データが null の場合に true を返す

◆ external()

bool cv::cuda::GpuMatND::external ( ) const

空でなく、かつ外部(ユーザが確保した)GPUメモリを指している場合に true を返す

◆ getDevicePtr()

uchar * cv::cuda::GpuMatND::getDevicePtr ( ) const

GPUメモリの先頭バイトへのポインタを返す

◆ isContinuous()

bool cv::cuda::GpuMatND::isContinuous ( ) const

GpuMatND のデータが連続している(すなわち連続する行の間に隙間がない)場合にのみ true を返す

◆ isSubmatrix()

bool cv::cuda::GpuMatND::isSubmatrix ( ) const

行列が他の行列の部分行列である場合に true を返す

◆ operator GpuMat()

cv::cuda::GpuMatND::operator GpuMat ( ) const

この GpuMatND が実質的に2次元である場合に、n次元行列の2次元平面部分を抽出する。この GpuMatND の一部を複製する点で createGpuMatHeader() とは異なる。

覚え書き
この演算子は、この GpuMatND の参照カウンタをインクリメントしない。

◆ operator()() [1/2]

GpuMatND cv::cuda::GpuMatND::operator() ( const std::vector< Range > & ranges) const

部分行列を抽出する。この演算子は *this の指定した部分配列に対する新しいヘッダを生成する。この演算子は O(1) の操作であり、すなわち行列データはコピーされない。

引数
ranges各次元に沿って選択された範囲の配列。

◆ operator()() [2/2]

GpuMat cv::cuda::GpuMatND::operator() ( IndexArray idx,
Range rowRange,
Range colRange ) const

n次元行列の2次元平面部分を抽出する。この GpuMatND の一部を、返される GpuMat に複製する点で createGpuMatHeader(IndexArray, Range, Range) とは異なる。

覚え書き
この演算子は、この GpuMatND の参照カウンタをインクリメントしない。

◆ operator=() [1/2]

GpuMatND & cv::cuda::GpuMatND::operator= ( const GpuMatND & )
default

◆ operator=() [2/2]

GpuMatND & cv::cuda::GpuMatND::operator= ( GpuMatND && )
defaultnoexcept

◆ 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]

void cv::cuda::GpuMatND::upload ( InputArray src)

◆ upload() [2/2]

void cv::cuda::GpuMatND::upload ( InputArray src,
Stream & stream )

メンバ変数詳解

◆ dims

int cv::cuda::GpuMatND::dims

行列の次元数

◆ flags

int cv::cuda::GpuMatND::flags

いくつかのビットフィールドを含む:

  • マジックシグネチャ
  • 連続性フラグ
  • ビット深度
  • チャンネル数

◆ size

SizeArray cv::cuda::GpuMatND::size

この配列の形状

◆ step

StepArray cv::cuda::GpuMatND::step

step 値。その意味は Mat の step の意味と同一である。


このクラス詳解は次のファイルから抽出されました: