OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
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窗口名称。