OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 全メンバ一覧
cv::ogl::Texture2D クラス

Smart pointer for OpenGL 2D texture memory with reference counting. [詳解]

#include <opengl.hpp>

公開型

enum Format { NONE = 0 , DEPTH_COMPONENT = 0x1902 , RGB = 0x1907 , RGBA = 0x1908 }
画像フォーマットとは、テクスチャ内の画像がデータを格納する方法を示すものです。[【詳解】(英語]

公開メンバ関数

Texture2D ()
コンストラクタには[【詳解】(英語]
Texture2D (int arows, int acols, Format aformat, unsigned int atexId, bool autoRelease=false)
Texture2D (Size asize, Format aformat, unsigned int atexId, bool autoRelease=false)
Texture2D (int arows, int acols, Format aformat, bool autoRelease=false)
Texture2D (Size asize, Format aformat, bool autoRelease=false)
Texture2D (InputArray arr, bool autoRelease=false)
void create (int arows, int acols, Format aformat, bool autoRelease=false)
にメモリを割り当てます。ogl::Texture2Dオブジェクトを作成します。[【詳解】(英語]
void create (Size asize, Format aformat, bool autoRelease=false)
void release ()
必要に応じて,参照カウンタをデクリメントし,テクスチャオブジェクトを破壊します。[【詳解】(英語]
void setAutoRelease (bool flag)
オートリリースモードを設定します。[【詳解】(英語]
void copyFrom (InputArray arr, bool autoRelease=false)
ホスト/デバイスのメモリからOpenGLテクスチャにコピーします。[【詳解】(英語]
void copyTo (OutputArray arr, int ddepth=CV_32F, bool autoRelease=false) const
OpenGLテクスチャから、ホスト/デバイスのメモリまたは別のOpenGLテクスチャオブジェクトにコピーします。[【詳解】(英語]
void bind () const
GL_TEXTURE_2Dターゲットの現在のアクティブなテクスチャユニットにテクスチャをバインドします。
int rows () const
int cols () const
Size size () const
bool empty () const
Format format () const
unsigned int texId () const
OpenGL opject idの取得

詳解

参照カウントを備えたOpenGL 2Dテクスチャメモリのスマートポインタ。

列挙型メンバ詳解

Format

画像フォーマットとは、テクスチャ内の画像がデータを格納する方法を示すものです。

列挙値
深度コンポーネント

深度

RGB

赤、緑、青

RGBA

赤、緑、青、アルファ

構築子と解体子

Texture2D() [1/6]

cv::ogl::Texture2D::Texture2D ( )

コンストラクタには

空のogl::Texture2Dオブジェクトにメモリを割り当てます。ogl::Texture2Dオブジェクト用のメモリを割り当てたり、ホスト/デバイスのメモリからコピーしたりします。

Texture2D() [2/6]

cv::ogl::Texture2D::Texture2D ( int arows,
int acols,
Format aformat,
unsigned int atexId,
bool autoRelease = false
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

Texture2D() [3/6]

cv::ogl::Texture2D::Texture2D ( Size asize,
Format aformat,
unsigned int atexId,
bool autoRelease = false
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

Texture2D() [4/6]

cv::ogl::Texture2D::Texture2D ( int arows,
int acols,
Format aformat,
bool autoRelease = false
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
arows 行数。
acols 列の数
aformat 画像フォーマット。参照cv::ogl::Texture2D::Format.
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

Texture2D() [5/6]

cv::ogl::Texture2D::Texture2D ( Size asize,
Format aformat,
bool autoRelease = false
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
asize 2次元配列のサイズ.
aformat 画像フォーマット。参照cv::ogl::Texture2D::Format.
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

Texture2D() [6/6]

cv::ogl::Texture2D::Texture2D ( InputArray arr,
bool autoRelease = false
)
explicit

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
arr 入力配列 (ホストまたはデバイスのメモリ,それはMat,cuda::GpuMatまたはogl::Buffer).
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

関数詳解

copyFrom()

void cv::ogl::Texture2D::copyFrom ( InputArray arr,
bool autoRelease = false
)

ホスト/デバイスのメモリからOpenGLテクスチャにコピーします。

引数
arr 入力配列 (ホストまたはデバイスのメモリ,それはMat,cuda::GpuMatまたはogl::Buffer).
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

copyTo()

void cv::ogl::Texture2D::copyTo ( OutputArray arr,
int ddepth = CV_32F,
bool autoRelease = false
) const

OpenGLテクスチャから、ホスト/デバイスのメモリまたは別のOpenGLテクスチャオブジェクトにコピーします。

引数
arr コピー先の配列(ホストやデバイスのメモリ。Mat,cuda::GpuMat,ogl::Bufferまたはogl::Texture2D).
ddepth デスティネーションデプス(Destination Depth)。
autoRelease デスティネーションバッファのオートリリースモード(arrがOpenGLバッファまたはテクスチャの場合)。

create() [1/2]

void cv::ogl::Texture2D::create ( int arows,
int acols,
Format aformat,
bool autoRelease = false
)

にメモリを割り当てます。ogl::Texture2Dオブジェクトを作成します。

引数
arows 行数。
acols 列の数
aformat 画像フォーマット。参照cv::ogl::Texture2D::Format.
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

create() [2/2]

void cv::ogl::Texture2D::create ( Size asize,
Format aformat,
bool autoRelease = false
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
asize 2次元配列のサイズ.
aformat 画像フォーマット。参照cv::ogl::Texture2D::Format.
autoRelease 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

release()

void cv::ogl::Texture2D::release ( )

必要に応じて,参照カウンタをデクリメントし,テクスチャオブジェクトを破壊します。

この関数は setAutoRelease(true) を呼び出します。

setAutoRelease()

void cv::ogl::Texture2D::setAutoRelease ( bool flag )

オートリリースモードを設定します。

引数
flag 自動リリースモード(true の場合,オブジェクトのデストラクタ内でリリースが呼ばれます).

OpenGLオブジェクトのライフタイムは、コンテキストのライフタイムと結びついています。OpenGLコンテキストがウィンドウにバインドされていた場合,いつでも解放される可能性があります(ユーザがウィンドウを閉じることができます).コンテキストの破壊後にオブジェクトのデストラクタが呼ばれるとエラーになります。したがってogl::Texture2DはデフォルトではデストラクタでOpenGLオブジェクトを破壊しません(すべてのOpenGLリソースはOpenGLコンテキストとともに解放されます)。この関数は、デストラクタがOpenGLオブジェクトを破壊するようにogl::Texture2DデストラクタにOpenGLオブジェクトを破壊させることができます。


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