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

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