OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::ovis::WindowScene 类参考抽象

#include <opencv2/ovis.hpp>

cv::ovis::WindowScene 协作图

公共成员函数

virtual ~WindowScene ()
 
virtual Rect2d createCameraEntity (const String &name, InputArray K, const Size &imsize, float zFar, InputArray tvec=noArray(), InputArray rot=noArray(), const Scalar &color=Scalar::all(1))=0
 
virtual void createEntity (const String &name, const String &meshname, InputArray tvec=noArray(), InputArray rot=noArray())=0
 
virtual void createLightEntity (const String &name, InputArray tvec=noArray(), InputArray rot=noArray(), const Scalar &diffuseColor=Scalar::all(1), const Scalar &specularColor=Scalar::all(1))=0
 
virtual void fixCameraYawAxis (bool useFixed, InputArray up=noArray())=0
 
virtual void getCameraPose (OutputArray R=noArray(), OutputArray tvec=noArray(), bool invert=false)=0
 
virtual void getCompositorTexture (const String &compname, const String &texname, OutputArray out, int mrtIndex=0)=0
 
virtual void getDepth (OutputArray depth)=0
 
virtual void getEntityAnimations (const String &name, std::vector< String > &out)=0
 
virtual void getEntityPose (const String &name, OutputArray R=noArray(), OutputArray tvec=noArray(), bool invert=false)=0
 
virtual void getEntityProperty (const String &name, int prop, OutputArray value)=0
 
virtual void getScreenshot (OutputArray frame)=0
 
virtual void playEntityAnimation (const String &name, const String &animname, bool loop=true)=0
 
virtual void removeEntity (const String &name)=0
 
virtual void setBackground (const Scalar &color)=0
 这是一个重载的成员函数,为方便提供。它与上面的函数仅在接受的参数上有所不同。
 
virtual void setBackground (InputArray image)=0
 
virtual void setCameraIntrinsics (InputArray K, const Size &imsize, float zNear=-1, float zFar=-1)=0
 
virtual void setCameraLookAt (const String &target, InputArray offset=noArray())=0
 
virtual void setCameraPose (InputArray tvec=noArray(), InputArray rot=noArray(), bool invert=false)=0
 
virtual void setCompositors (const std::vector< String > &names)=0
 
virtual void setEntityLookAt (const String &origin, const String &target, InputArray offset=noArray())=0
 
virtual void setEntityPose (const String &name, InputArray tvec=noArray(), InputArray rot=noArray(), bool invert=false)=0
 
virtual void setEntityProperty (const String &name, int prop, const Scalar &value)=0
 这是一个重载的成员函数,为方便提供。它与上面的函数仅在接受的参数上有所不同。
 
virtual void setEntityProperty (const String &name, int prop, const String &value, int subEntityIdx=-1)=0
 
virtual void stopEntityAnimation (const String &name, const String &animname)=0
 
virtual void update ()=0
 
virtual void updateEntityPose (const String &name, InputArray tvec=noArray(), InputArray rot=noArray())=0
 

详细描述

一个 3D 视口和相关的场景

构造函数 & 析构函数文档

◆ ~WindowScene()

virtual cv::ovis::WindowScene::~WindowScene ( )
virtual

成员函数文档

◆ createCameraEntity()

virtual Rect2d cv::ovis::WindowScene::createCameraEntity ( const String & name,
InputArray 输入的相机内参矩阵。,
const Size & imsize,
float zFar,
InputArray tvec = noArray(),
InputArray rot = noArray(),
const Scalar & color = Scalar::all(1) )
纯虚函数

可视化相机位置的便捷方法

参数
name实体名称
输入的相机内参矩阵。内参矩阵
imsize图像尺寸
zFar相机坐标系中的远平面
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
color线条颜色
返回
远平面上视锥体的范围,其中左上角表示主点偏移
此函数的调用图如下

◆ createEntity()

virtual void cv::ovis::WindowScene::createEntity ( const String & name,
const String & 网格名称,
InputArray tvec = noArray(),
InputArray rot = noArray() )
纯虚函数

在场景中放置一个网格实体

网格需要事先创建。可以通过编程方式,例如 createPointCloudMesh,或者将相应文件放置在资源位置。

参数
name实体名称
网格名称网格名称
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
另请参见
addResourceLocation
此函数的调用图如下

◆ createLightEntity()

virtual void cv::ovis::WindowScene::createLightEntity ( const String & name,
InputArray tvec = noArray(),
InputArray rot = noArray(),
const Scalar & diffuseColor = Scalar::all(1),
const Scalar & specularColor = Scalar::all(1) )
纯虚函数

在场景中创建点光源

参数
name实体名称
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
漫反射颜色
镜面反射颜色
此函数的调用图如下

◆ fixCameraYawAxis()

virtual void cv::ovis::WindowScene::fixCameraYawAxis ( bool useFixed,
InputArray up = noArray() )
纯虚函数

强制“向上”轴保持固定的便捷方法

适用于编程更改和 SCENE_INTERACTIVE

参数
useFixed是否强制固定偏航轴
up要固定的轴
此函数的调用图如下

◆ getCameraPose()

virtual void cv::ovis::WindowScene::getCameraPose ( OutputArray R = noArray(),
OutputArray tvec = noArray(),
bool invert = false )
纯虚函数

检索当前相机姿态

参数
R3x3 旋转矩阵
tvec平移向量
invert返回反转的姿态
此函数的调用图如下

◆ getCompositorTexture()

virtual void cv::ovis::WindowScene::getCompositorTexture ( const String & compname,
const String & texname,
OutputArray 输出3D仿射变换矩阵,尺寸为\(3 \times 4\),形式如下,
int mrtIndex = 0 )
纯虚函数

读取活动合成器的纹理

参数
compname合成器名称
texname合成器内的纹理名称
mrtIndex如果纹理是 MRT,则指定附件
输出3D仿射变换矩阵,尺寸为\(3 \times 4\),形式如下纹理内容

◆ getDepth()

virtual void cv::ovis::WindowScene::getDepth ( OutputArray 深度)
纯虚函数

获取当前帧的深度。

返回每个像素到相机在世界单位中的距离

◆ getEntityAnimations()

virtual void cv::ovis::WindowScene::getEntityAnimations ( const String & name,
std::vector< String > & out )
纯虚函数

获取可用实体动画列表

参数
name实体名称
输出3D仿射变换矩阵,尺寸为\(3 \times 4\),形式如下动画名称

◆ getEntityPose()

virtual void cv::ovis::WindowScene::getEntityPose ( const String & name,
OutputArray R = noArray(),
OutputArray tvec = noArray(),
bool invert = false )
纯虚函数

检索实体的当前姿态

参数
name实体名称
R3x3 旋转矩阵
tvec平移向量
invert返回反转的姿态
此函数的调用图如下

◆ getEntityProperty()

virtual void cv::ovis::WindowScene::getEntityProperty ( const String & name,
int 属性,
OutputArray  )
纯虚函数

获取实体的属性

参数
name实体名称
属性EntityProperty
该值

◆ getScreenshot()

virtual void cv::ovis::WindowScene::getScreenshot ( OutputArray frame)
纯虚函数

读取上次调用 ovis::waitKey 生成的图像

◆ playEntityAnimation()

virtual void cv::ovis::WindowScene::playEntityAnimation ( const String & name,
const String & 动画名称,
bool loop = true )
纯虚函数

播放实体动画

参数
name实体名称
动画名称动画名称
循环启用或禁用动画循环
另请参见
getEntityAnimations

◆ removeEntity()

virtual void cv::ovis::WindowScene::removeEntity ( const String & name)
纯虚函数

从场景中移除实体

参数
name实体名称

◆ setBackground() [1/2]

virtual void cv::ovis::WindowScene::setBackground ( const Scalar & color)
纯虚函数

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

◆ setBackground() [2/2]

virtual void cv::ovis::WindowScene::setBackground ( InputArray image)
纯虚函数

将窗口背景设置为自定义图像/颜色

参数
image

◆ setCameraIntrinsics()

virtual void cv::ovis::WindowScene::setCameraIntrinsics ( InputArray 输入的相机内参矩阵。,
const Size & imsize,
float zNear = -1,
float zFar = -1 )
纯虚函数

设置相机内参

参数
输入的相机内参矩阵。内参矩阵或 noArray()。如果指定了 noArray(),则忽略 imsize,并且可以单独设置 zNear/zFar。
imsize图像尺寸
zNear近裁剪距离,或 -1 以保持当前值
zFar远裁剪距离,或 -1 以保持当前值

◆ setCameraLookAt()

virtual void cv::ovis::WindowScene::setCameraLookAt ( const String & target,
InputArray offset = noArray() )
纯虚函数

将相机朝向特定实体的便捷方法

参数
target实体名称
offset从实体中心偏移
此函数的调用图如下

◆ setCameraPose()

virtual void cv::ovis::WindowScene::setCameraPose ( InputArray tvec = noArray(),
InputArray rot = noArray(),
bool invert = false )
纯虚函数

设置当前相机姿态

参数
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
invert使用给定姿态的逆
此函数的调用图如下

◆ setCompositors()

virtual void cv::ovis::WindowScene::setCompositors ( const std::vector< String > & names)
纯虚函数

启用有序的全屏后处理效果链

通过这种方式,您可以添加失真或 SSAO 效果。效果本身必须在 Ogre .compositor 脚本中定义。

参数
names将按出现顺序应用合成器名称
另请参见
addResourceLocation

◆ setEntityLookAt()

virtual void cv::ovis::WindowScene::setEntityLookAt ( const String & origin,
const String & target,
InputArray offset = noArray() )
纯虚函数

将实体朝向特定实体的便捷方法。如果 target 是空字符串,则实体会看向给定的偏移点

参数
origin要看向的实体
target目标实体名称
offset从实体中心偏移
此函数的调用图如下

◆ setEntityPose()

virtual void cv::ovis::WindowScene::setEntityPose ( const String & name,
InputArray tvec = noArray(),
InputArray rot = noArray(),
bool invert = false )
纯虚函数

在世界坐标空间中设置实体姿态。

参数
name实体名称
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
invert使用给定姿态的逆
此函数的调用图如下

◆ setEntityProperty() [1/2]

virtual void cv::ovis::WindowScene::setEntityProperty ( const String & name,
int 属性,
const Scalar &  )
纯虚函数

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

◆ setEntityProperty() [2/2]

virtual void cv::ovis::WindowScene::setEntityProperty ( const String & name,
int 属性,
const String & ,
int subEntityIdx = -1 )
纯虚函数

将实体属性设置为给定值

参数
name实体名称
属性EntityProperty
该值
subEntityIdx子实体索引(默认:所有)

◆ stopEntityAnimation()

virtual void cv::ovis::WindowScene::stopEntityAnimation ( const String & name,
const String & animname )
纯虚函数

停止实体动画

参数
name实体名称
动画名称动画名称

◆ update()

virtual void cv::ovis::WindowScene::update ( )
纯虚函数

渲染此窗口,但不交换缓冲区。由 ovis::waitKey 自动调用

◆ updateEntityPose()

virtual void cv::ovis::WindowScene::updateEntityPose ( const String & name,
InputArray tvec = noArray(),
InputArray rot = noArray() )
纯虚函数

通过父坐标空间中的变换更新实体姿态。(预旋转)

参数
name实体名称
tvec平移
rotRodrigues 向量或 3x3 旋转矩阵
此函数的调用图如下

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