![]() |
OpenCV 4.13.0
開源電腦視覺 (Open Source Computer Vision)
|
ovis 是一個圍繞 ogre3d 的簡化渲染封裝庫。API 中使用了 Ogre 術語,進階自訂功能則預設使用 Ogre Script。
除了此處看到的 API 之外,還有幾個控制 ovis 行為的環境變數。這些變數已記錄在 createWindow 中。
您可以即時 (on the fly) 建立幾何體,或是載入 Ogre 的 .mesh 檔案。
建議使用 Blender 來轉換或建立幾何體。
bin/ 目錄下的 OgreXMLConverter.exe),並在 blender2ogre 設定中指定路徑使用 Ogre 1.12.9 或更新版本時,啟用 Assimp 外掛程式即可載入任意格式的幾何體。只需在 WindowScene::createEntity 中將 meshname 從 bunny.mesh 改為 bunny.obj 即可。
您仍應使用 ogre-meshviewer 來驗證幾何體是否已正確轉換。
類別 | |
| class | cv::ovis::WindowScene |
#include <opencv2/ovis.hpp>
| 列舉值 | |
|---|---|
| ENTITY_MATERIAL | |
| ENTITY_SCALE | |
| ENTITY_AABB_WORLD | |
| ENTITY_ANIMBLEND_MODE | |
| ENTITY_CAST_SHADOWS | |
#include <opencv2/ovis.hpp>
| 列舉值 | |
|---|---|
| MATERIAL_POINT_SIZE | |
| MATERIAL_LINE_WIDTH | |
| MATERIAL_OPACITY | |
| MATERIAL_EMISSIVE | |
| MATERIAL_DIFFUSE | |
| MATERIAL_TEXTURE0 | |
| MATERIAL_TEXTURE | |
| MATERIAL_TEXTURE1 | |
| MATERIAL_TEXTURE2 | |
| MATERIAL_TEXTURE3 | |
#include <opencv2/ovis.hpp>
| 列舉值 | |
|---|---|
| SCENE_SEPARATE | 視窗將使用獨立的場景。否則場景將會共用。 |
| SCENE_INTERACTIVE | 允許使用者控制攝影機。 |
| SCENE_SHOW_CS_CROSS | 繪製座標系統十字以進行除錯 |
| SCENE_AA | 套用反鋸齒。第一個視窗將決定所有視窗的設定。 |
| SCENE_OFFSCREEN | 離屏渲染(無視窗)。允許獨立的反鋸齒設定。需要透過 WindowScene::update 進行手動更新。 |
| SCENE_SHADOWS | 在場景中啟用即時陰影。所有實體預設都會投射陰影。可透過 ENTITY_CAST_SHADOWS 進行控制。 |
| void cv::ovis::addResourceLocation | ( | const String & | path | ) |
#include <opencv2/ovis.hpp>
新增一個額外的資源路徑,用於搜尋網格、紋理和材質
必須在第一個 createWindow 之前呼叫。若給定的路徑不存在,將會重試搜尋 Ogre 媒體目錄。
| path | 資料夾或 Zip 壓縮檔。 |
| void cv::ovis::createPlaneMesh | ( | const String & | name, |
| const Size2f & | size, | ||
| InputArray | image = noArray() ) |
| void cv::ovis::createPointCloudMesh | ( | const String & | name, |
| InputArray | 頂點, | ||
| InputArray | colors = noArray() ) |
| void cv::ovis::createTriangleMesh | ( | const String & | name, |
| InputArray | 頂點, | ||
| InputArray | normals = noArray(), | ||
| InputArray | indices = noArray() ) |
#include <opencv2/ovis.hpp>
使用頂點-頂點或面-頂點表示法建立三角網格
建立一個相同名稱的材質
| name | 網格名稱 |
| 頂點 | 位置的 float 向量 |
| normals | 法向量的 float 向量 |
| indices | 索引的 int 向量 |
| Ptr< WindowScene > cv::ovis::createWindow | ( | const String & | 標題, |
| const Size & | size, | ||
| int | flags = SCENE_INTERACTIVE|SCENE_AA ) |
#include <opencv2/ovis.hpp>
建立新的渲染視窗/視口
| 標題 | 視窗標題 |
| size | 視窗大小 |
| flags | SceneSettings 的組合 |
此外,其行為受以下環境變數控制
#include <opencv2/ovis.hpp>
這是一個多載的成員函式,為了方便而提供。它與上述函式的區別僅在於它接受的參數不同。
| void cv::ovis::setMaterialProperty | ( | const String & | name, |
| int | 屬性, | ||
| InputArray | value ) |
| void cv::ovis::updateTexture | ( | const String & | name, |
| InputArray | image ) |
#include <opencv2/ovis.hpp>
| int cv::ovis::waitKey | ( | int | delay = 0 | ) |
#include <opencv2/ovis.hpp>
更新所有視窗並等待鍵盤事件
| 延遲 | 0 為特殊值,代表「無限等待」。任何正數將會在同步至空白訊號後返回(通常為 16ms)。 |