OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::viz::Viz3d 類參考

Viz3d 類表示一個 3D 視覺化視窗。該類是隱式共享的。 更多...

#include <opencv2/viz/viz3d.hpp>

cv::viz::Viz3d 協作圖

公共型別

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
 返回視窗的當前大小。
 
Viz3doperator= (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 視覺化視窗。該類是隱式共享的。

成員 Typedef 文件

◆ Color

◆ KeyboardCallback

void(*) cv::viz::Viz3d::KeyboardCallback(const KeyboardEvent &, void *)

◆ MouseCallback

void(*) cv::viz::Viz3d::MouseCallback(const MouseEvent &, void *)

建構函式 & 解構函式文件

◆ Viz3d() [1/2]

cv::viz::Viz3d::Viz3d ( const String & window_name = String())

建構函式。

引數
window_name視窗名稱。

◆ Viz3d() [2/2]

cv::viz::Viz3d::Viz3d ( const Viz3d & )

◆ ~Viz3d()

cv::viz::Viz3d::~Viz3d ( )

成員函式文件

◆ addLight()

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光源的環境顏色
鏡面反射顏色光源的鏡面反射顏色

◆ close()

void cv::viz::Viz3d::close ( )

◆ converTo3DRay()

void cv::viz::Viz3d::converTo3DRay ( const Point3d & window_coord,
Point3d & origin,
Vec3d & direction )

將視窗座標系中的點轉換為世界座標系中的 3D 射線。

引數
window_coord視窗座標系中的點。
origin射線的輸出原點。
direction射線的輸出方向。

◆ convertToWindowCoordinates()

void cv::viz::Viz3d::convertToWindowCoordinates ( const Point3d & pt,
Point3d & window_coord )

將世界座標系中的點轉換為視窗座標系。

引數
pt世界座標系中的點。
window_coord視窗座標系中的輸出點。

◆ getCamera()

Camera cv::viz::Viz3d::getCamera ( ) const

返回包含當前檢視器內在引數的攝像機物件。

◆ getRenderingProperty()

double cv::viz::Viz3d::getRenderingProperty ( const String & id,
int property )

返回部件的渲染屬性。

引數
id部件的 ID。
property屬性。

渲染屬性可以是以下之一

  • POINT_SIZE (點大小)
  • OPACITY (不透明度)
  • LINE_WIDTH (線寬)
  • FONT_SIZE (字型大小)

REPRESENTATION: 期望值為

  • REPRESENTATION_POINTS (點)
  • REPRESENTATION_WIREFRAME (線框)
  • REPRESENTATION_SURFACE (表面)

IMMEDIATE_RENDERING (立即渲染)

  • 將值設定為 1 可啟用立即渲染。
  • 將值設定為 0 可關閉立即渲染。

SHADING: 期望值為

  • SHADING_FLAT (平面著色)
  • SHADING_GOURAUD (Gouraud 著色)
  • SHADING_PHONG (Phong 著色)

◆ getScreenshot()

cv::Mat cv::viz::Viz3d::getScreenshot ( ) const

返回當前場景的 Mat 截圖。

◆ getViewerPose()

Affine3d cv::viz::Viz3d::getViewerPose ( ) const

返回檢視器的當前姿態。

◆ getWidget()

Widget cv::viz::Viz3d::getWidget ( const String & id) const

從視窗中檢索部件。

部件是隱式共享的;也就是說,如果修改返回的部件,更改將立即在視窗中可見。

引數
id將被返回部件的 ID。

◆ getWidgetPose()

Affine3d cv::viz::Viz3d::getWidgetPose ( const String & id) const

返回視窗中部件的當前姿態。

引數
id將返回姿態的部件的 ID。

◆ getWindowName()

String cv::viz::Viz3d::getWindowName ( ) const

返回建構函式中設定的視窗名稱。如有必要,名稱前會新增 Viz -

◆ getWindowSize()

Size cv::viz::Viz3d::getWindowSize ( ) const

返回視窗的當前大小。

◆ operator=()

Viz3d & cv::viz::Viz3d::operator= ( const Viz3d & )

◆ registerKeyboardCallback()

void cv::viz::Viz3d::registerKeyboardCallback ( KeyboardCallback callback,
void * cookie = 0 )

設定鍵盤處理程式。

引數
callback鍵盤迴調(void (*KeyboardCallbackFunction(const KeyboardEvent&, void*))。
cookie傳遞給回撥的可選引數。

◆ registerMouseCallback()

void cv::viz::Viz3d::registerMouseCallback ( MouseCallback callback,
void * cookie = 0 )

設定滑鼠處理程式。

引數
callback滑鼠回撥(void (*MouseCallback)(const MouseEvent&, void*))。
cookie傳遞給回撥的可選引數。

◆ removeAllLights()

void cv::viz::Viz3d::removeAllLights ( )

從當前場景中移除所有光源。

◆ removeAllWidgets()

void cv::viz::Viz3d::removeAllWidgets ( )

從視窗中移除所有部件。

◆ removeWidget()

void cv::viz::Viz3d::removeWidget ( const String & id)

從視窗中移除部件。

引數
id將被移除部件的 ID。

◆ resetCamera()

void cv::viz::Viz3d::resetCamera ( )

重置攝像機。

◆ resetCameraViewpoint()

void cv::viz::Viz3d::resetCameraViewpoint ( const String & id)

將攝像機視點重置為場景中的 3D 部件。

引數
id3D 部件的 ID。

◆ saveScreenshot()

void cv::viz::Viz3d::saveScreenshot ( const String & file)

儲存當前場景的截圖。

引數
file檔名。

◆ setBackgroundColor()

void cv::viz::Viz3d::setBackgroundColor ( const Color & color = Color::black(),
const Color & color2 = Color::not_set() )

設定背景顏色。

◆ setBackgroundMeshLab()

void cv::viz::Viz3d::setBackgroundMeshLab ( )

◆ setBackgroundTexture()

void cv::viz::Viz3d::setBackgroundTexture ( InputArray image = noArray())
此函式的呼叫圖如下

◆ setCamera()

void cv::viz::Viz3d::setCamera ( const Camera & camera)

使用 Camera 設定檢視器的內在引數。

引數
camera封裝內在引數的 Camera 物件。

◆ setFullScreen()

void cv::viz::Viz3d::setFullScreen ( bool mode = true)

設定或取消全屏渲染模式。

引數
mode如果為 true,視窗將使用全屏模式。

◆ setGlobalWarnings()

void cv::viz::Viz3d::setGlobalWarnings ( bool enabled = false)

◆ setOffScreenRendering()

void cv::viz::Viz3d::setOffScreenRendering ( )

在記憶體中而不是螢幕上建立視窗。

◆ setRenderingProperty()

void cv::viz::Viz3d::setRenderingProperty ( const String & id,
int property,
double  )

設定部件的渲染屬性。

引數
id部件的 ID。
property要修改的屬性。
屬性的新值。

渲染屬性可以是以下之一

  • POINT_SIZE (點大小)
  • OPACITY (不透明度)
  • LINE_WIDTH (線寬)
  • FONT_SIZE (字型大小)

REPRESENTATION: 期望值為

  • REPRESENTATION_POINTS (點)
  • REPRESENTATION_WIREFRAME (線框)
  • REPRESENTATION_SURFACE (表面)

IMMEDIATE_RENDERING (立即渲染)

  • 將值設定為 1 可啟用立即渲染。
  • 將值設定為 0 可關閉立即渲染。

SHADING: 期望值為

  • SHADING_FLAT (平面著色)
  • SHADING_GOURAUD (Gouraud 著色)
  • SHADING_PHONG (Phong 著色)

◆ setRepresentation()

void cv::viz::Viz3d::setRepresentation ( int representation)

將部件的幾何表示設定為表面、線框或點。

引數
representation幾何表示,可以是以下之一
  • REPRESENTATION_POINTS (點)
  • REPRESENTATION_WIREFRAME (線框)
  • REPRESENTATION_SURFACE (表面)

◆ setViewerPose()

void cv::viz::Viz3d::setViewerPose ( const Affine3d & pose)

設定檢視器的姿態。

引數
pose檢視器的新姿態。

◆ setWidgetPose()

void cv::viz::Viz3d::setWidgetPose ( const String & id,
const Affine3d & pose )

設定視窗中部件的姿態。

引數
id將設定姿態的部件的 ID。
pose部件的新姿勢。

◆ setWindowPosition()

void cv::viz::Viz3d::setWindowPosition ( const Point & 視窗座標)

設定視窗在螢幕上的位置。

引數
視窗座標視窗的座標

◆ setWindowSize()

void cv::viz::Viz3d::setWindowSize ( const Size & window_size)

設定視窗的大小。

引數
window_size視窗的新大小。

◆ showImage()

void cv::viz::Viz3d::showImage ( InputArray image,
const Size & window_size = Size(-1, -1) )

移除所有部件並顯示按整個視窗區域縮放的影像。

引數
image要顯示的影像。
window_sizeViz3d 視窗的大小。預設值表示不改變。

◆ showWidget()

void cv::viz::Viz3d::showWidget ( const String & id,
const Widget & widget,
const Affine3d & pose = Affine3d::Identity() )

在視窗中顯示部件。

引數
id部件的唯一 ID。
widget要在視窗中顯示的部件。
pose部件的姿態。

◆ spin()

void cv::viz::Viz3d::spin ( )

視窗渲染並啟動事件迴圈。

◆ spinOnce()

void cv::viz::Viz3d::spinOnce ( int time = 1,
bool force_redraw = false )

啟動給定時間的事件迴圈。

引數
time事件迴圈持續執行的時間(毫秒)。
force_redraw如果為 true,視窗會渲染。

◆ updateWidgetPose()

void cv::viz::Viz3d::updateWidgetPose ( const String & id,
const Affine3d & pose )

透過預乘其當前姿態來更新視窗中部件的姿態。

引數
id將更新姿態的部件的 ID。
pose部件的當前姿態將預乘的姿態。

◆ wasStopped()

bool cv::viz::Viz3d::wasStopped ( ) const

返回事件迴圈是否已停止。

友元和相關符號文件

◆ VizStorage

friend class VizStorage
friend

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