OpenCV 4.5.3(日本語機械翻訳)
クラス | 列挙型 | 関数
OpenGL interoperability

クラス

class cv::ogl::Buffer
参照カウントを行うOpenGLバッファオブジェクトのスマートポインタです。[【詳解】(英語]
class cv::ogl::Texture2D
参照カウントを備えたOpenGL 2Dテクスチャメモリのスマートポインタ。[【詳解】(英語]
class cv::ogl::Arrays
OpenGL Client-Side Vertex arrayのラッパーです。[【詳解】(英語]

列挙型

enum cv::ogl::RenderModes {
POINTS = 0x0000 , LINES = 0x0001 , LINE_LOOP = 0x0002 , LINE_STRIP = 0x0003 ,
TRIANGLES = 0x0004 , TRIANGLE_STRIP = 0x0005 , TRIANGLE_FAN = 0x0006 , QUADS = 0x0007 ,
QUAD_STRIP = 0x0008 , POLYGON = 0x0009
}
レンダリングモード

関数

CV_EXPORTS void cv::ogl::render (const Texture2D &tex, Rect_< double > wndRect=Rect_< double >(0.0, 0.0, 1.0, 1.0), Rect_< double > texRect=Rect_< double >(0.0, 0.0, 1.0, 1.0))
OpenGLテクスチャやプリミティブを描画します.[【詳解】(英語]
CV_EXPORTS void cv::ogl::render (const Arrays &arr, int mode=POINTS, Scalar color=Scalar::all(255))
CV_EXPORTS void cv::ogl::render (const Arrays &arr, InputArray indices, int mode=POINTS, Scalar color=Scalar::all(255))
CV_EXPORTS void cv::ogl::convertToGLTexture2D (InputArray src, Texture2D &texture)
InputArrayを変換します。Texture2Dオブジェクトを作成します。[【詳解】(英語]
CV_EXPORTS void cv::ogl::convertFromGLTexture2D (const Texture2D &texture, OutputArray dst)
オブジェクトを出力配列に変換します.Texture2Dオブジェクトを OutputArray に変換します.[【詳解】(英語]
CV_EXPORTS UMat cv::ogl::mapGLBuffer (const Buffer &buffer, AccessFlag accessFlags=ACCESS_READ|ACCESS_WRITE)
マップBufferオブジェクトをCL側の処理(に変換UMat).[【詳解】(英語]
CV_EXPORTS void cv::ogl::unmapGLBuffer (UMat &u)
アンマップBufferオブジェクト(リリースUMatからマップされたオブジェクトをアンマップします。Buffer).[【詳解】(英語]
CV_EXPORTS void cv::cuda::setGlDevice (int device=0)
CUDAデバイスを設定し、OpenGL相互運用性を持つ現在のスレッドのために初期化します。[【詳解】(英語]

詳解

This section describes OpenGL interoperability.

To enable OpenGL support, configure OpenCV using CMake with WITH_OPENGL=ON . Currently OpenGL is supported only with WIN32, GTK and Qt backends on Windows and Linux (MacOS and Android are not supported). For GTK backend gtkglext-1.0 library is required.

To use OpenGL functionality you should first create OpenGL context (window or frame buffer). You can do this with namedWindow function or with other OpenGL toolkit (GLUT, for example).

関数詳解

convertFromGLTexture2D()

CV_EXPORTS void cv::ogl::convertFromGLTexture2D ( const Texture2D & texture,
OutputArray dst
)

オブジェクトを出力配列に変換します.Texture2Dオブジェクトを OutputArray に変換します.

引数
texture - ソースTexture2Dオブジェクトを作成します。
dst - デスティネーション OutputArray。

convertToGLTexture2D()

CV_EXPORTS void cv::ogl::convertToGLTexture2D ( InputArray src,
Texture2D & texture
)

InputArrayを変換します。Texture2Dオブジェクトを作成します。

引数
src - source InputArrayに変換します。
texture - デスティネーションTexture2Dオブジェクトを作成します。

mapGLBuffer()

CV_EXPORTS UMat cv::ogl::mapGLBuffer ( const Buffer & buffer,
AccessFlag accessFlags = ACCESS_READ|ACCESS_WRITE
)

マップBufferオブジェクトをCL側の処理(に変換UMat).

この関数は,GL から CL のバッファを作成し,そのバッファのデータを OpenCV の関数で処理するためのUMatを作成し,OpenCVの関数でバッファデータを処理するために利用します.なお,現在の実装ではUMat現在の実装では,このようにして作成されたCLバッファは,対応するGLバッファオブジェクトを持たないので,明示的にunmapGLBuffer()関数によってローカルに保存されたすべての記述子をデータセットに挿入して更新する.

引数
buffer - ソースBufferオブジェクトを作成します。
accessFlags - データアクセスフラグ (ACCESS_READ|ACCESS_WRITE).
戻り値
戻り値UMatオブジェクト

render() [1/3]

CV_EXPORTS void cv::ogl::render ( const Arrays & arr,
InputArray indices,
int mode = POINTS,
Scalar color = Scalar::all(255)
)

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

引数
arr 非公開の頂点の配列。
indices 頂点インデックスの配列(ホストまたはデバイスのメモリ)。
mode レンダリングモード.cv::ogl::RenderModes のうちの1つ.
color すべての頂点の色.arr に色の配列が含まれていない場合に利用されます.

render() [2/3]

CV_EXPORTS void cv::ogl::render ( const Arrays & arr,
int mode = POINTS,
Scalar color = Scalar::all(255)
)

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

引数
arr 非公開の頂点の配列。
mode レンダリングモード.cv::ogl::RenderModes のうちの1つ.
color すべての頂点の色.arr に色の配列が含まれていない場合に利用されます.

render() [3/3]

CV_EXPORTS void cv::ogl::render ( const Texture2D & tex,
Rect_< double > wndRect = Rect_< double >(0.0, 0.0, 1.0, 1.0),
Rect_< double > texRect = Rect_< double >(0.0, 0.0, 1.0, 1.0)
)

OpenGLテクスチャやプリミティブを描画します.

引数
tex 描画するテクスチャ.
wndRect テクスチャーを描画するウィンドウの領域(正規化された座標)です。
texRect 描画するテクスチャの領域(正規化された座標値)

setGlDevice()

CV_EXPORTS void cv::cuda::setGlDevice ( int device = 0 )

CUDAデバイスを設定し、OpenGL相互運用性を持つ現在のスレッドのために初期化します。

この関数は、OpenGLコンテキスト作成後、CUDA呼び出しの前に明示的に呼び出される必要があります。

引数
device 0から始まるCUDAデバイスのシステムインデックス。

unmapGLBuffer()

CV_EXPORTS void cv::ogl::unmapGLBuffer ( UMat & u )

アンマップBufferオブジェクト(リリースUMatからマップされたオブジェクトをアンマップします。Buffer).

この関数は、OpenGL コンテキスト生成後、CUDA 呼び出しの前に明示的に呼び出されなければなりません。UMatの呼び出しによって以前に構築されたmapGLBuffer()関数によってローカルに保存されたすべての記述子をデータセットに挿入して更新する.

引数
u - ソースUMatが作成したmapGLBuffer().