OpenCV  4.10.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 } }
};
对于 (int i = 0; i < 6; ++i) {
glColor3ub( i*20, 100+i*10, i*42 );
glBegin(GL_QUADS);
对于 (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指向每帧应当调用函数的指针。该函数应当被定义为 prototyped as void Foo(void*)。
用户数据传递给回调函数的指针。(可选

◆ updateWindow()

void cv::updateWindow ( const String winname)

#include <opencv2/highgui.hpp>

强制窗口重新绘制其上下文并调用绘制回调(请参阅cv::setOpenGlDrawCallback)。

参数
winname窗口的名称。