OpenCV 4.10.0
开源计算机视觉
|
Viz3d 类表示一个三维可视化窗口。此类是隐式共享的。 更多信息...
#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 | 关闭离屏渲染 () |
在内存中创建窗口,而不是在屏幕上。 | |
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 | 轮询 () |
窗口渲染并启动事件循环。 | |
void | spinOnce (int time=1, bool force_redraw=false) |
启动指定时间的事件循环。 | |
void | updateWidgetPose (const String &id, const Affine3d &pose) |
通过前乘当前姿态来更新窗口中小部件的姿态。 | |
bool | ◆ |
wasStopped | |
surf: 获取用户点击列表。 | |
朋友 | class |
详细描述
typedef cv::viz::Color cv::viz::Viz3d::Color |
typedef void(* cv::viz::Viz3d::KeyboardCallback) (const KeyboardEvent &, void *) |
typedef 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 & | 位置, |
const Vec3d & | focalPoint = Vec3d(0, 0, 0) , |
||
const Color & | 颜色 = Color::white() , |
||
const Color & | 漫反射颜色 = Color::white() , |
||
const Color & | 环境颜色 = Color::black() , |
||
const Color & | 镜面反射颜色 = Color::white() |
||
) |
在场景中添加光源。
位置 | 光的位置。 |
focalPoint | 光线照亮的点 |
颜色 | 光的颜色 |
漫反射颜色 | 光的漫反射颜色 |
环境颜色 | 光的周围环境颜色 |
镜面反射颜色 | 光的镜面反射颜色 |
void cv::viz::Viz3d::close | ( | ) |
将窗口坐标系统中的点转换为世界坐标系统中的3D射线。
窗口坐标 | 窗口坐标系统中的点。 |
原点 | 输出光线的起始点。 |
方向 | 输出光线的方向。 |
将世界坐标系统中的点转换为窗口坐标系统。
pt | 世界坐标系统中的点。 |
窗口坐标 | 输出窗口坐标系统中的点。 |
Camera cv::viz::Viz3d::getCamera | ( | ) | const |
返回包含当前观察者内在参数的相机对象。
double cv::viz::Viz3d::getRenderingProperty | ( | const String & | id, |
int | 属性 | ||
) |
返回小部件的渲染属性。
id | 小部件的ID。 |
属性 | 属性。 |
渲染属性可以是以下之一
REPRESENTATION: 预期值包括
IMMEDIATE_RENDERING
SHADING: 预期值包括
Affine3d cv::viz::Viz3d::getViewerPose | ( | ) | const |
返回当前查看者的位置。
从窗口中检索一个小部件。
小部件是隐式共享的;也就是说,如果修改返回的小部件,则更改将立即在窗口中可见。
id | 将返回的小部件的ID。 |
返回窗口中小部件的当前位置。
id | 返回的 Widget 的 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 | 要移除的 Widget ID。 |
void cv::viz::Viz3d::resetCamera | ( | ) |
重置相机。
void cv::viz::Viz3d::resetCameraViewpoint | ( | const String & | id | ) |
将相机视图重置为场景中的3D小部件。
id | 3D Widget 的 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 | 如果为真,窗口将使用全屏模式。 |
void cv::viz::Viz3d::setGlobalWarnings | ( | bool | enabled = false | ) |
void cv::viz::Viz3d::setOffScreenRendering | ( | ) |
在内存中创建窗口,而不是在屏幕上。
void cv::viz::Viz3d::setRenderingProperty | ( | const String & | id, |
int | 属性, | ||
double | value | ||
) |
设置小部件的渲染属性。
id | 小部件的ID。 |
属性 | 将被修改的属性。 |
value | 属性的新的值。 |
渲染属性可以是以下之一
REPRESENTATION: 预期值包括
IMMEDIATE_RENDERING
SHADING: 预期值包括
void cv::viz::Viz3d::setRepresentation | ( | int | representation | ) |
设置小部件的几何表示为表面、线框或点。
representation | 几何表示,可以是以下之一
|
void cv::viz::Viz3d::setViewerPose | ( | const Affine3d & | pose | ) |
设置查看器的姿态。
pose | 观看者的新姿态。 |
设置窗口中小部件的姿态。
id | 将姿态设置的Widget的ID。 |
pose | Widget的新姿态。 |
void cv::viz::Viz3d::setWindowPosition | ( | const Point & | window_position | ) |
设置窗口在屏幕上的位置。
window_position | 窗口坐标 |
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 | Widget的唯一ID。 |
widget | 要显示在窗口中的Widget。 |
pose | Widget的姿态。 |
void cv::viz::Viz3d::spin | ( | ) |
窗口渲染并启动事件循环。
void cv::viz::Viz3d::spinOnce | ( | int | time = 1 , |
bool | force_redraw = false |
||
) |
启动指定时间的事件循环。
time | 事件循环运行的时间(毫秒)。 |
force_redraw | 如果为true,则渲染窗口。 |
通过前乘当前姿态来更新窗口中小部件的姿态。
id | 将更新姿态的Widget的ID。 |
pose | 该Matrix将预乘当前Widget的姿态。 |
bool cv::viz::Viz3d::wasStopped | ( | ) | const |
wasStopped
|
而已 |