![]() |
OpenCV 4.11.0
开源计算机视觉库
|
主题 | |
| 窗口部件 | |
本节描述 3D 可视化窗口以及用于与其交互的类和方法。
3D 可视化窗口(参见 Viz3d)用于显示窗口部件(参见 Widget),并提供多种方法来与场景和窗口部件进行交互。
类 | |
| 类 | cv::viz::Camera |
| 此类封装了摄像机的内参。 更多… | |
| 类 | cv::viz::Color |
| 此类以 BGR 顺序表示颜色。 更多… | |
| 类 | cv::viz::KeyboardEvent |
| 此类表示键盘事件。 更多… | |
| 类 | cv::viz::Mesh |
| 此类封装了网格属性,可以从 ply 文件加载网格: 更多… | |
| 类 | cv::viz::MouseEvent |
| 此类表示鼠标事件。 更多… | |
| 类 | cv::viz::Viz3d |
| Viz3d 类表示一个 3D 可视化窗口。此类是隐式共享的。 更多… | |
函数 | |
| void | cv::viz::computeNormals (const Mesh &mesh, OutputArray normals) |
| Viz3d | cv::viz::getWindowByName (const String &window_name) |
| 按名称检索窗口。 | |
| Viz3d | cv::viz::imshow (const String &window_name, InputArray image, const Size &window_size=Size(-1, -1)) |
| 在指定窗口中显示图像。 | |
| 模板<typename _Tp > | |
| bool | cv::viz::isNan (const Point3_< _Tp > &p) |
| 检查浮点/双精度值是否为 NaN。 | |
| 模板<typename _Tp , int cn> | |
| bool | cv::viz::isNan (const Vec< _Tp, cn > &v) |
| 检查浮点/双精度值是否为 NaN。 | |
| bool | cv::viz::isNan (double x) |
| 检查浮点/双精度值是否为 NaN。 | |
| bool | cv::viz::isNan (float x) |
| 检查浮点/双精度值是否为 NaN。 | |
| Affine3d | cv::viz::makeCameraPose (const Vec3d &position, const Vec3d &focal_point, const Vec3d &y_dir) |
| 根据位置、焦点和向上向量构造摄像机姿态(有关更多信息,请参见 gluLookAt())。 | |
| Affine3d | cv::viz::makeTransformToGlobal (const Vec3d &axis_x, const Vec3d &axis_y, const Vec3d &axis_z, const Vec3d &origin=Vec3d::all(0)) |
| 获取坐标系数据并构建到全局坐标系的变换。 | |
| Mat | cv::viz::readCloud (const String &file, OutputArray colors=noArray(), OutputArray normals=noArray()) |
| Mesh | cv::viz::readMesh (const String &file) |
| 读取网格。目前仅支持 ply 格式,不支持纹理加载。 | |
| bool | cv::viz::readPose (const String &file, Affine3d &pose, const String &tag="pose") |
| 读取/写入姿态和轨迹。 | |
| void | cv::viz::readTrajectory (OutputArray traj, const String &files_format="pose%05d.xml", int start=0, int end=INT_MAX, const String &tag="pose") |
| void | cv::viz::unregisterAllWindows () |
| 从内部数据库注销所有 Viz 窗口。之后,'getWindowByName()' 将创建新的窗口,而不是从数据库获取现有窗口。 | |
| void | cv::viz::writeCloud (const String &file, InputArray cloud, InputArray colors=noArray(), InputArray normals=noArray(), bool binary=false) |
| 读取/写入点云。支持的格式:ply、xyz、obj 和 stl(只读) | |
| void | cv::viz::writePose (const String &file, const Affine3d &pose, const String &tag="pose") |
| void | cv::viz::writeTrajectory (InputArray traj, const String &files_format="pose%05d.xml", int start=0, const String &tag="pose") |
| void cv::viz::computeNormals | ( | const Mesh & | mesh, |
| OutputArray | normals ) |
#include <opencv2/viz/vizcore.hpp>
按名称检索窗口。
| window_name | 要检索的窗口的名称。 |
此函数返回一个具有给定名称的Viz3d 对象。
| Viz3d cv::viz::imshow | ( | const String & | window_name, |
| 输入数组 | 图像, | ||
| const Size & | window_size = Size(-1, -1) ) |
#include <opencv2/viz/vizcore.hpp>
在指定窗口中显示图像。
|
内联 |
|
内联 |
#include <opencv2/viz/vizcore.hpp>
根据位置、焦点和向上向量构造摄像机姿态(有关更多信息,请参见 gluLookAt())。
| 位置 | 摄像机在全局坐标系中的位置。 |
| 焦点 | 摄像机在全局坐标系中的焦点。 |
| y_dir | 摄像机在全局坐标系中的向上向量。 |
此函数返回摄像机在全局坐标系中的姿态。
| Affine3d cv::viz::makeTransformToGlobal | ( | const Vec3d & | x轴, |
| const Vec3d & | y轴, | ||
| const Vec3d & | z轴, | ||
| const Vec3d & | origin = Vec3d::all(0) ) |
#include <opencv2/viz/vizcore.hpp>
获取坐标系数据并构建到全局坐标系的变换。
| x轴 | 全局坐标系中的X轴向量。 |
| y轴 | 全局坐标系中的Y轴向量。 |
| z轴 | 全局坐标系中的Z轴向量。 |
| 原点 | 全局坐标系中坐标系的原点。 |
| Mat cv::viz::readCloud | ( | const String & | 文件, |
| OutputArray | colors = noArray(), | ||
| OutputArray | normals = noArray() ) |
#include <opencv2/viz/vizcore.hpp>
| 文件 | 带有扩展名的文件名。支持的格式:PLY、XYZ、OBJ和STL。 |
| 颜色 | 仅PLY和STL格式使用。 |
| normals | 仅PLY、OBJ和STL格式使用。 |
#include <opencv2/viz/vizcore.hpp>
读取网格。目前仅支持 ply 格式,不支持纹理加载。
| void cv::viz::readTrajectory | ( | OutputArray | 轨迹, |
| const String & | files_format = "pose%05d.xml", | ||
| 整数 | start = 0, | ||
| 整数 | end = INT_MAX, | ||
| const String & | tag = "pose" ) |
#include <opencv2/viz/vizcore.hpp>
采用向量<Affine3<T>>,其中T = float/double,并从一系列文件中加载姿态
| 轨迹 | 包含姿态列表的输出数组。它可以是
|
| files_format | 用于构造文件名的格式说明符字符串。字符串中唯一的占位符应支持int。 |
| 开始 | files_format 的初始计数器。它必须大于或等于 0。 |
| 结束 | files_format 的最终计数器。 |
| 标签 | 文件中矩阵的名称。 |
| void cv::viz::unregisterAllWindows | ( | ) |
#include <opencv2/viz/vizcore.hpp>
从内部数据库注销所有 Viz 窗口。之后,'getWindowByName()' 将创建新的窗口,而不是从数据库获取现有窗口。
| void cv::viz::writeCloud | ( | const String & | 文件, |
| 输入数组 | 云, | ||
| 输入数组 | colors = noArray(), | ||
| 输入数组 | normals = noArray(), | ||
| 布尔值 | binary = false ) |
#include <opencv2/viz/vizcore.hpp>
读取/写入点云。支持的格式:ply、xyz、obj 和 stl(只读)
| 文件 | 带有扩展名的文件名。支持的格式:PLY、XYZ和OBJ。 |
| 云 | 支持的深度:CV_32F和CV_64F。支持的通道:3和4。 |
| 颜色 | 仅PLY格式使用。支持的深度:CV_8U。支持的通道:1、3和4。 |
| normals | 仅PLY和OBJ格式使用。支持的深度:CV_32F和CV_64F。支持的通道:3和4。 |
| 二进制 | 仅用于PLY格式。 |
#include <opencv2/viz/vizcore.hpp>
| 文件 | 文件名。 |
| 姿态 | 输入矩阵。 |
| 标签 | 要保存到给定文件的姿态的名称。 |
| void cv::viz::writeTrajectory | ( | 输入数组 | 轨迹, |
| const String & | files_format = "pose%05d.xml", | ||
| 整数 | start = 0, | ||
| const String & | tag = "pose" ) |
#include <opencv2/viz/vizcore.hpp>
采用向量<Affine3<T>>,其中T = float/double,并写入具有给定文件名格式的一系列文件