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 を返す
 
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
 
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 の意味と同一である。


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