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

詳細説明

関数

void cv::imshow (const String &winname, const ogl::Texture2D &tex)
 指定したウィンドウにOpenGLの2Dテクスチャを表示する。
 
void cv::setOpenGlContext (const String &winname)
 指定したウィンドウを現在の OpenGL コンテキストとして設定する。
 
void cv::setOpenGlDrawCallback (const String &winname, OpenGlDrawCallback onOpenGlDraw, void *userdata=0)
 表示中の画像の上に描画するために呼び出されるコールバック関数を設定する。
 
void cv::updateWindow (const String &winname)
 ウィンドウに強制的にコンテキストを再描画させ、描画コールバックを呼び出す(cv::setOpenGlDrawCallback を参照)。
 

関数詳解

◆ imshow()

void cv::imshow ( const String & winname,
const ogl::Texture2D & tex )
Python:
cv.imshow(winname, mat) -> None

#include <opencv2/highgui.hpp>

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

引数
winnameウィンドウの名前。
texOpenGLの2Dテクスチャデータ。

◆ setOpenGlContext()

void cv::setOpenGlContext ( const String & winname)

#include <opencv2/highgui.hpp>

指定したウィンドウを現在のOpenGLコンテキストに設定する。

引数
winnameウィンドウの名前。

◆ setOpenGlDrawCallback()

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

#include <opencv2/highgui.hpp>

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

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()

void cv::updateWindow ( const String & winname)

#include <opencv2/highgui.hpp>

ウィンドウに強制的にコンテキストを再描画させ、描画コールバックを呼び出す(cv::setOpenGlDrawCallback を参照)。

引数
winnameウィンドウの名前。