![]() |
OpenCV 4.12.0
開源計算機視覺
|
Viz3d 類表示一個 3D 視覺化視窗。該類是隱式共享的。 更多...
#include <opencv2/viz/viz3d.hpp>
公共型別 | |
| typedef cv::viz::Color | Color (顏色) |
| typedef void(*) | KeyboardCallback(const KeyboardEvent &, void *) |
| typedef void(*) | MouseCallback(const MouseEvent &, void *) |
公共成員函式 | |
| Viz3d (const String &window_name=String()) | |
| 建構函式。 | |
| Viz3d (const Viz3d &) | |
| ~Viz3d () | |
| void | addLight (const Vec3d &position, const Vec3d &focalPoint=Vec3d(0, 0, 0), const Color &color=Color::white(), const Color &diffuseColor=Color::white(), const Color &ambientColor=Color::black(), const Color &specularColor=Color::white()) |
| 在場景中新增一個光源。 | |
| void | close () |
| void | converTo3DRay (const Point3d &window_coord, Point3d &origin, Vec3d &direction) |
| 將視窗座標系中的點轉換為世界座標系中的 3D 射線。 | |
| void | convertToWindowCoordinates (const Point3d &pt, Point3d &window_coord) |
| 將世界座標系中的點轉換為視窗座標系。 | |
| Camera | getCamera () const |
| 返回包含當前檢視器內在引數的攝像機物件。 | |
| double | getRenderingProperty (const String &id, int property) |
| 返回部件的渲染屬性。 | |
| cv::Mat | getScreenshot () const |
| 返回當前場景的 Mat 截圖。 | |
| Affine3d | getViewerPose () const |
| 返回檢視器的當前姿態。 | |
| Widget | getWidget (const String &id) const |
| 從視窗中檢索部件。 | |
| Affine3d | getWidgetPose (const String &id) const |
| 返回視窗中部件的當前姿態。 | |
| String | getWindowName () const |
返回建構函式中設定的視窗名稱。如有必要,名稱前會新增 Viz -。 | |
| Size | getWindowSize () const |
| 返回視窗的當前大小。 | |
| Viz3d & | operator= (const Viz3d &) |
| void | registerKeyboardCallback (KeyboardCallback callback, void *cookie=0) |
| 設定鍵盤處理程式。 | |
| void | registerMouseCallback (MouseCallback callback, void *cookie=0) |
| 設定滑鼠處理程式。 | |
| void | removeAllLights () |
| 從當前場景中移除所有光源。 | |
| void | removeAllWidgets () |
| 從視窗中移除所有部件。 | |
| void | removeWidget (const String &id) |
| 從視窗中移除部件。 | |
| void | resetCamera () |
| 重置攝像機。 | |
| void | resetCameraViewpoint (const String &id) |
| 將攝像機視點重置為場景中的 3D 部件。 | |
| void | saveScreenshot (const String &file) |
| 儲存當前場景的截圖。 | |
| void | setBackgroundColor (const Color &color=Color::black(), const Color &color2=Color::not_set()) |
| 設定背景顏色。 | |
| void | setBackgroundMeshLab () |
| void | setBackgroundTexture (InputArray image=noArray()) |
| void | setCamera (const Camera &camera) |
| 使用 Camera 設定檢視器的內在引數。 | |
| void | setFullScreen (bool mode=true) |
| 設定或取消全屏渲染模式。 | |
| void | setGlobalWarnings (bool enabled=false) |
| void | setOffScreenRendering () |
| 在記憶體中而不是螢幕上建立視窗。 | |
| void | setRenderingProperty (const String &id, int property, double value) |
| 設定部件的渲染屬性。 | |
| void | setRepresentation (int representation) |
| 將部件的幾何表示設定為表面、線框或點。 | |
| void | setViewerPose (const Affine3d &pose) |
| 設定檢視器的姿態。 | |
| void | setWidgetPose (const String &id, const Affine3d &pose) |
| 設定視窗中部件的姿態。 | |
| void | setWindowPosition (const Point &window_position) |
| 設定視窗在螢幕上的位置。 | |
| void | setWindowSize (const Size &window_size) |
| 設定視窗的大小。 | |
| void | showImage (InputArray image, const Size &window_size=Size(-1, -1)) |
| 移除所有部件並顯示按整個視窗區域縮放的影像。 | |
| void | showWidget (const String &id, const Widget &widget, const Affine3d &pose=Affine3d::Identity()) |
| 在視窗中顯示部件。 | |
| void | spin () |
| 視窗渲染並啟動事件迴圈。 | |
| void | spinOnce (int time=1, bool force_redraw=false) |
| 啟動給定時間的事件迴圈。 | |
| void | updateWidgetPose (const String &id, const Affine3d &pose) |
| 透過預乘其當前姿態來更新視窗中部件的姿態。 | |
| bool | wasStopped () const |
| 返回事件迴圈是否已停止。 | |
友元 | |
| class | VizStorage |
Viz3d 類表示一個 3D 視覺化視窗。該類是隱式共享的。
| void(*) cv::viz::Viz3d::KeyboardCallback(const KeyboardEvent &, void *) |
| void(*) cv::viz::Viz3d::MouseCallback(const MouseEvent &, void *) |
| cv::viz::Viz3d::Viz3d | ( | const Viz3d & | ) |
| cv::viz::Viz3d::~Viz3d | ( | ) |
| void cv::viz::Viz3d::addLight | ( | const Vec3d & | position, |
| const Vec3d & | focalPoint = Vec3d(0, 0, 0), | ||
| const Color & | color = Color::white(), | ||
| const Color & | diffuseColor = Color::white(), | ||
| const Color & | ambientColor = Color::black(), | ||
| const Color & | specularColor = Color::white() ) |
在場景中新增一個光源。
| position | 光源的位置。 |
| focalPoint | 光源照射的點 |
| color | 光源的顏色 |
| 漫反射顏色 | 光源的漫反射顏色 |
| ambientColor | 光源的環境顏色 |
| 鏡面反射顏色 | 光源的鏡面反射顏色 |
| void cv::viz::Viz3d::close | ( | ) |
| void cv::viz::Viz3d::converTo3DRay | ( | const Point3d & | window_coord, |
| Point3d & | origin, | ||
| Vec3d & | direction ) |
將視窗座標系中的點轉換為世界座標系中的 3D 射線。
| window_coord | 視窗座標系中的點。 |
| origin | 射線的輸出原點。 |
| direction | 射線的輸出方向。 |
將世界座標系中的點轉換為視窗座標系。
| pt | 世界座標系中的點。 |
| window_coord | 視窗座標系中的輸出點。 |
| Camera cv::viz::Viz3d::getCamera | ( | ) | const |
返回包含當前檢視器內在引數的攝像機物件。
| double cv::viz::Viz3d::getRenderingProperty | ( | const String & | id, |
| int | property ) |
返回部件的渲染屬性。
| id | 部件的 ID。 |
| property | 屬性。 |
渲染屬性可以是以下之一
REPRESENTATION: 期望值為
IMMEDIATE_RENDERING (立即渲染)
SHADING: 期望值為
| Affine3d cv::viz::Viz3d::getViewerPose | ( | ) | const |
返回檢視器的當前姿態。
從視窗中檢索部件。
部件是隱式共享的;也就是說,如果修改返回的部件,更改將立即在視窗中可見。
| id | 將被返回部件的 ID。 |
| String cv::viz::Viz3d::getWindowName | ( | ) | const |
返回建構函式中設定的視窗名稱。如有必要,名稱前會新增 Viz -。
| Size cv::viz::Viz3d::getWindowSize | ( | ) | const |
返回視窗的當前大小。
| void cv::viz::Viz3d::registerKeyboardCallback | ( | KeyboardCallback | callback, |
| void * | cookie = 0 ) |
設定鍵盤處理程式。
| callback | 鍵盤迴調(void (*KeyboardCallbackFunction(const KeyboardEvent&, void*))。 |
| cookie | 傳遞給回撥的可選引數。 |
| void cv::viz::Viz3d::registerMouseCallback | ( | MouseCallback | callback, |
| void * | cookie = 0 ) |
設定滑鼠處理程式。
| callback | 滑鼠回撥(void (*MouseCallback)(const MouseEvent&, void*))。 |
| cookie | 傳遞給回撥的可選引數。 |
| void cv::viz::Viz3d::removeAllLights | ( | ) |
從當前場景中移除所有光源。
| void cv::viz::Viz3d::removeAllWidgets | ( | ) |
從視窗中移除所有部件。
| void cv::viz::Viz3d::removeWidget | ( | const String & | id | ) |
從視窗中移除部件。
| id | 將被移除部件的 ID。 |
| void cv::viz::Viz3d::resetCamera | ( | ) |
重置攝像機。
| void cv::viz::Viz3d::resetCameraViewpoint | ( | const String & | id | ) |
將攝像機視點重置為場景中的 3D 部件。
| id | 3D 部件的 ID。 |
| void cv::viz::Viz3d::saveScreenshot | ( | const String & | file | ) |
儲存當前場景的截圖。
| file | 檔名。 |
| void cv::viz::Viz3d::setBackgroundColor | ( | const Color & | color = Color::black(), |
| const Color & | color2 = Color::not_set() ) |
設定背景顏色。
| void cv::viz::Viz3d::setBackgroundMeshLab | ( | ) |
| void cv::viz::Viz3d::setBackgroundTexture | ( | InputArray | image = noArray() | ) |
| void cv::viz::Viz3d::setCamera | ( | const Camera & | camera | ) |
| void cv::viz::Viz3d::setFullScreen | ( | bool | mode = true | ) |
設定或取消全屏渲染模式。
| mode | 如果為 true,視窗將使用全屏模式。 |
| void cv::viz::Viz3d::setGlobalWarnings | ( | bool | enabled = false | ) |
| void cv::viz::Viz3d::setOffScreenRendering | ( | ) |
在記憶體中而不是螢幕上建立視窗。
| void cv::viz::Viz3d::setRenderingProperty | ( | const String & | id, |
| int | property, | ||
| double | 值 ) |
設定部件的渲染屬性。
| id | 部件的 ID。 |
| property | 要修改的屬性。 |
| 值 | 屬性的新值。 |
渲染屬性可以是以下之一
REPRESENTATION: 期望值為
IMMEDIATE_RENDERING (立即渲染)
SHADING: 期望值為
| void cv::viz::Viz3d::setRepresentation | ( | int | representation | ) |
將部件的幾何表示設定為表面、線框或點。
| representation | 幾何表示,可以是以下之一
|
| void cv::viz::Viz3d::setViewerPose | ( | const Affine3d & | pose | ) |
設定檢視器的姿態。
| pose | 檢視器的新姿態。 |
設定視窗中部件的姿態。
| id | 將設定姿態的部件的 ID。 |
| pose | 部件的新姿勢。 |
| void cv::viz::Viz3d::setWindowPosition | ( | const Point & | 視窗座標 | ) |
設定視窗在螢幕上的位置。
| 視窗座標 | 視窗的座標 |
| void cv::viz::Viz3d::setWindowSize | ( | const Size & | window_size | ) |
設定視窗的大小。
| window_size | 視窗的新大小。 |
| void cv::viz::Viz3d::showImage | ( | InputArray | image, |
| const Size & | window_size = Size(-1, -1) ) |
移除所有部件並顯示按整個視窗區域縮放的影像。
| image | 要顯示的影像。 |
| window_size | Viz3d 視窗的大小。預設值表示不改變。 |
| void cv::viz::Viz3d::showWidget | ( | const String & | id, |
| const Widget & | widget, | ||
| const Affine3d & | pose = Affine3d::Identity() ) |
在視窗中顯示部件。
| id | 部件的唯一 ID。 |
| widget | 要在視窗中顯示的部件。 |
| pose | 部件的姿態。 |
| void cv::viz::Viz3d::spin | ( | ) |
視窗渲染並啟動事件迴圈。
| void cv::viz::Viz3d::spinOnce | ( | int | time = 1, |
| bool | force_redraw = false ) |
啟動給定時間的事件迴圈。
| time | 事件迴圈持續執行的時間(毫秒)。 |
| force_redraw | 如果為 true,視窗會渲染。 |
透過預乘其當前姿態來更新視窗中部件的姿態。
| id | 將更新姿態的部件的 ID。 |
| pose | 部件的當前姿態將預乘的姿態。 |
| bool cv::viz::Viz3d::wasStopped | ( | ) | const |
返回事件迴圈是否已停止。
|
friend |