OpenCV 4.11.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
 返回事件循环是否已停止。
 

友元

类 VizStorage
 

详细描述

Viz3d 类表示一个 3D 可视化窗口。此类是隐式共享的。

成员类型定义文档

◆ 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光线颜色
diffuseColor光线的漫反射颜色
ambientColor光线的环境光颜色
specularColor光线的镜面反射颜色

◆ 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
  • SHADING_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()

尺寸 cv::viz::Viz3d::getWindowSize ( ) const

返回窗口的当前大小。

◆ 运算符=()

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

◆ registerKeyboardCallback()

void cv::viz::Viz3d::registerKeyboardCallback ( 键盘回调函数 回调函数,
void * cookie = 0 )

设置键盘处理程序。

参数
回调函数键盘回调函数 (void (*KeyboardCallbackFunction(const KeyboardEvent&, void*)).
cookie传递给回调函数的可选参数。

◆ registerMouseCallback()

void cv::viz::Viz3d::registerMouseCallback ( 鼠标回调函数 回调函数,
void * cookie = 0 )

设置鼠标处理程序。

参数
回调函数鼠标回调函数 (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 & 文件)

保存当前场景的屏幕截图。

参数
文件文件名。

◆ 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 对象封装了相机内参。

◆ setFullScreen()

void cv::viz::Viz3d::setFullScreen ( bool 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 value )

设置小部件的渲染属性。

参数
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
  • SHADING_PHONG

◆ setRepresentation()

void cv::viz::Viz3d::setRepresentation ( int 表示方式)

将小部件的几何表示设置为表面、线框或点。

参数
表示方式几何表示,可以是以下之一
  • REPRESENTATION_POINTS
  • REPRESENTATION_WIREFRAME
  • REPRESENTATION_SURFACE

◆ setViewerPose()

void cv::viz::Viz3d::setViewerPose ( const Affine3d & 姿态)

设置查看器的姿态。

参数
姿态观察者的新姿态。

◆ setWidgetPose()

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

设置窗口中小部件的姿态。

参数
id将设置姿态的小部件的ID。
姿态小部件的新姿态。

◆ setWindowPosition()

void cv::viz::Viz3d::setWindowPosition ( const Point & 窗口位置)

设置窗口在屏幕上的位置。

参数
窗口位置窗口坐标

◆ setWindowSize()

void cv::viz::Viz3d::setWindowSize ( const Size & 窗口大小)

设置窗口大小。

参数
窗口大小窗口的新大小。

◆ showImage()

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

移除所有窗口部件并显示缩放至整个窗口区域的图像。

参数
图像要显示的图像。
窗口大小Viz3d窗口的大小。默认值表示无变化。

◆ showWidget()

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

在窗口中显示窗口部件。

参数
id小部件的唯一ID。
小部件要在窗口中显示的小部件。
姿态小部件的姿态。

◆ spin()

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

窗口渲染并启动事件循环。

◆ spinOnce()

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

启动指定时间的事件循环。

参数
时间事件循环持续运行的时间(毫秒)。
force_redraw如果为真,则窗口进行渲染。

◆ updateWidgetPose()

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

通过预乘其当前位姿来更新窗口中窗口部件的位姿。

参数
id将更新姿态的小部件的ID。
姿态当前小部件姿态将被预乘的姿态。

◆ wasStopped()

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

返回事件循环是否已停止。

友元和相关符号文档

◆ VizStorage

friend class VizStorage
friend

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