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