OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
cv::ogl::Texture2D 类参考

具有引用计数的 OpenGL 2D 纹理内存智能指针。 更多…

#include <opencv2/core/opengl.hpp>

cv::ogl::Texture2D 的协作图

公共类型

枚举 Format {
  NONE = 0 ,
  DEPTH_COMPONENT = 0x1902 ,
  RGB = 0x1907 ,
  RGBA = 0x1908
}
 图像格式描述了纹理中图像存储数据的方式。 更多…
 

公共成员函数

 Texture2D ()
 构造函数。
 
 Texture2D (InputArray arr, bool autoRelease=false)
 
 Texture2D (int arows, int acols, Format aformat, bool autoRelease=false)
 
 Texture2D (int arows, int acols, Format aformat, unsigned int atexId, bool autoRelease=false)
 
 Texture2D (Size asize, Format aformat, bool autoRelease=false)
 
 Texture2D (Size asize, Format aformat, unsigned int atexId, bool autoRelease=false)
 
void bind () const
 将纹理绑定到当前活动纹理单元的 GL_TEXTURE_2D 目标。
 
int cols () const
 
void copyFrom (InputArray arr, bool autoRelease=false)
 将数据从主机/设备内存复制到 OpenGL 纹理。
 
void copyTo (OutputArray arr, int ddepth=CV_32F, bool autoRelease=false) const
 将数据从 OpenGL 纹理复制到主机/设备内存或另一个 OpenGL 纹理对象。
 
void create (int arows, int acols, Format aformat, bool autoRelease=false)
 ogl::Texture2D 对象分配内存。
 
void create (Size asize, Format aformat, bool autoRelease=false)
 
bool empty () const
 
Format format () const
 
void release ()
 递减引用计数,如果需要则销毁纹理对象。
 
int rows () const
 
void setAutoRelease (bool flag)
 设置自动释放模式。
 
Size size () const
 
unsigned int texId () const
 获取 OpenGL 对象 ID
 

详细描述

具有引用计数的 OpenGL 2D 纹理内存智能指针。

成员枚举文档

◆ Format

图像格式描述了纹理中图像存储数据的方式。

枚举器
NONE 
DEPTH_COMPONENT 

深度。

RGB 

红、绿、蓝。

RGBA 

红、绿、蓝、阿尔法。

构造函数和析构函数文档

◆ Texture2D() [1/6]

cv::ogl::Texture2D::Texture2D ( )

构造函数。

创建空的 ogl::Texture2D 对象,为 ogl::Texture2D 对象分配内存或从主机/设备内存复制。

◆ Texture2D() [2/6]

cv::ogl::Texture2D::Texture2D ( int arows,
int acols,
Format aformat,
unsigned int atexId,
bool autoRelease = false )

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

◆ Texture2D() [3/6]

cv::ogl::Texture2D::Texture2D ( Size asize,
Format aformat,
unsigned int atexId,
bool autoRelease = false )

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

◆ Texture2D() [4/6]

cv::ogl::Texture2D::Texture2D ( int arows,
int acols,
Format aformat,
bool autoRelease = false )

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

参数
arows行数。
acols列数。
aformat图像格式。参见 cv::ogl::Texture2D::Format
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

◆ Texture2D() [5/6]

cv::ogl::Texture2D::Texture2D ( Size asize,
Format aformat,
bool autoRelease = false )

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

参数
asize二维数组大小。
aformat图像格式。参见 cv::ogl::Texture2D::Format
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

◆ Texture2D() [6/6]

cv::ogl::Texture2D::Texture2D ( InputArray arr,
bool autoRelease = false )
explicit

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

参数
arr输入数组(主机或设备内存,可以是 Matcuda::GpuMatogl::Buffer)。
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

成员函数文档

◆ bind()

void cv::ogl::Texture2D::bind ( ) const

将纹理绑定到当前活动纹理单元的 GL_TEXTURE_2D 目标。

◆ cols()

int cv::ogl::Texture2D::cols ( ) const

◆ copyFrom()

void cv::ogl::Texture2D::copyFrom ( InputArray arr,
bool autoRelease = false )

将数据从主机/设备内存复制到 OpenGL 纹理。

参数
arr输入数组(主机或设备内存,可以是 Matcuda::GpuMatogl::Buffer)。
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

◆ copyTo()

void cv::ogl::Texture2D::copyTo ( OutputArray arr,
int ddepth = CV_32F,
bool autoRelease = false ) const

将数据从 OpenGL 纹理复制到主机/设备内存或另一个 OpenGL 纹理对象。

参数
arr目标数组(主机或设备内存,可以是 Matcuda::GpuMatogl::Bufferogl::Texture2D)。
ddepth目标深度。
autoRelease目标缓冲区的自动释放模式(如果arr是OpenGL缓冲区或纹理)。

◆ create() [1/2]

void cv::ogl::Texture2D::create ( int arows,
int acols,
Format aformat,
bool autoRelease = false )

ogl::Texture2D 对象分配内存。

参数
arows行数。
acols列数。
aformat图像格式。参见 cv::ogl::Texture2D::Format
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

◆ create() [2/2]

void cv::ogl::Texture2D::create ( Size asize,
Format aformat,
bool autoRelease = false )

这是一个重载的成员函数,为了方便提供。它只在接受的参数方面与上面的函数不同。

参数
asize二维数组大小。
aformat图像格式。参见 cv::ogl::Texture2D::Format
autoRelease自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

◆ empty()

bool cv::ogl::Texture2D::empty ( ) const

◆ format()

Format cv::ogl::Texture2D::format ( ) const

◆ release()

void cv::ogl::Texture2D::release ( )

递减引用计数,如果需要则销毁纹理对象。

此函数将调用 setAutoRelease(true)。

◆ rows()

int cv::ogl::Texture2D::rows ( ) const

◆ setAutoRelease()

void cv::ogl::Texture2D::setAutoRelease ( bool flag)

设置自动释放模式。

参数
flag自动释放模式(如果为 true,则将在对象的析构函数中调用 release)。

OpenGL对象的生存期与上下文生存期绑定。如果OpenGL上下文绑定到窗口,它可以随时释放(用户可以关闭窗口)。如果在上下文销毁后调用对象的析构函数,则会引发错误。因此,ogl::Texture2D默认情况下不会在析构函数中销毁OpenGL对象(所有OpenGL资源都将与OpenGL上下文一起释放)。此函数可以强制ogl::Texture2D析构函数销毁OpenGL对象。

◆ size()

Size cv::ogl::Texture2D::size ( ) const

◆ texId()

unsigned int cv::ogl::Texture2D::texId ( ) const

获取 OpenGL 对象 ID


此类的文档是从以下文件生成的: