OpenCV  4.10.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 

红色、绿色、蓝色、Alpha。

构造函数和析构函数文档

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

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

参数
asize2D 数组大小。
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 
)

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

参数
asize2D 数组大小。
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


该类的文档是从以下文件生成的