OpenCV 4.5.3(日本語機械翻訳)
関数
OpenGL support

関数

CV_EXPORTS void cv::imshow (const String &winname, const ogl::Texture2D &tex)
OpenGL 2Dテクスチャを指定されたウィンドウに表示します。[【詳解】(英語]
CV_EXPORTS void cv::setOpenGlDrawCallback (const String &winname, OpenGlDrawCallback onOpenGlDraw, void *userdata=0)
表示されたイメージの上に描画するために呼び出されるコールバック関数を設定します。[【詳解】(英語]
CV_EXPORTS void cv::setOpenGlContext (const String &winname)
指定されたウィンドウを現在のOpenGLコンテキストとして設定します。[【詳解】(英語]
CV_EXPORTS void cv::updateWindow (const String &winname)
ウィンドウのコンテキストを強制的に再描画し、ドローコールバックを呼び出します (cv::setOpenGlDrawCallback).[【詳解】(英語]

詳解

関数詳解

imshow()

CV_EXPORTS void cv::imshow ( const String & winname,
const ogl::Texture2D & tex
)

OpenGL 2Dテクスチャを指定されたウィンドウに表示します。

引数
winname ウィンドウの名前を指定します。
tex OpenGL 2Dテクスチャデータです。

setOpenGlContext()

CV_EXPORTS void cv::setOpenGlContext ( const String & winname )

指定されたウィンドウを現在のOpenGLコンテキストとして設定します。

引数
winname ウィンドウの名前を指定します。

setOpenGlDrawCallback()

CV_EXPORTS void cv::setOpenGlDrawCallback ( const String & winname,
OpenGlDrawCallback onOpenGlDraw,
void * userdata = 0
)

表示されたイメージの上に描画するために呼び出されるコールバック関数を設定します。

関数setOpenGlDrawCallbackを使用すると、ウィンドウに3Dデータを描画することができます。以下のコールバック関数の例を参照してください。

void on_opengl(void* param)
{
glLoadIdentity();
glTranslated(0.0, 0.0, -1.0);
glRotatef( 55, 1, 0, 0 );
glRotatef( 45, 0, 1, 0 );
glRotatef( 0, 0, 0, 1 );
static const int coords[6][4][3] = {
{ { +1, -1, -1 }, { -1, -1, -1 }, { -1, +1, -1 }, { +1, +1, -1 } },
{ { +1, +1, -1 }, { -1, +1, -1 }, { -1, +1, +1 }, { +1, +1, +1 } },
{ { +1, -1, +1 }, { +1, -1, -1 }, { +1, +1, -1 }, { +1, +1, +1 } },
{ { -1, -1, -1 }, { -1, -1, +1 }, { -1, +1, +1 }, { -1, +1, -1 } },
{ { +1, -1, +1 }, { -1, -1, +1 }, { -1, -1, -1 }, { +1, -1, -1 } },
{ { -1, -1, +1 }, { +1, -1, +1 }, { +1, +1, +1 }, { -1, +1, +1 } }
};
for (int i = 0; i < 6; ++i) {
glColor3ub( i*20, 100+i*10, i*42 );
glBegin(GL_QUADS);
for (int j = 0; j < 4; ++j) {
glVertex3d(0.2 * coords[i][j][0], 0.2 * coords[i][j][1], 0.2 * coords[i][j][2]);
}
glEnd();
}
}
引数
winname ウィンドウの名前を指定します。
onOpenGlDraw フレームごとに呼び出される関数へのポインター。この関数は、void Foo(void*) のようにプロトタイプ化してください。
userdata コールバック関数に渡されるポインター(オプション)

updateWindow()

CV_EXPORTS void cv::updateWindow ( const String & winname )

ウィンドウのコンテキストを強制的に再描画し、ドローコールバックを呼び出します (cv::setOpenGlDrawCallback).

引数
winname ウィンドウの名前を指定します。