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 旋轉矩陣
此函式的呼叫圖如下

此類的文件是從以下檔案生成的