OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项

详细描述

注意
  • 请注意,只有在正确安装 Ceres Solver 时才会编译。
    请查看以下教程中的安装说明:SFM 模块安装

函数

void cv::sfm::reconstruct (const std::vector< String > images, OutputArray Ps, OutputArray points3d, InputOutputArray K, bool is_projective=false)
 从 2d 图像重建 3d 点,同时执行自动校准。
 
void cv::sfm::reconstruct (const std::vector< String > images, OutputArray Rs, OutputArray Ts, InputOutputArray K, OutputArray points3d, bool is_projective=false)
 从 2d 图像重建 3d 点,同时执行自动校准。
 
void cv::sfm::reconstruct (InputArrayOfArrays points2d, OutputArray Ps, OutputArray points3d, InputOutputArray K, bool is_projective=false)
 从 2d 对应关系重建 3d 点,同时执行自动校准。
 
void cv::sfm::reconstruct (InputArrayOfArrays points2d, OutputArray Rs, OutputArray Ts, InputOutputArray K, OutputArray points3d, bool is_projective=false)
 从 2d 对应关系重建 3d 点,同时执行自动校准。
 

函数文档

◆ reconstruct() [1/4]

void cv::sfm::reconstruct ( const std::vector< String > images,
OutputArray Ps,
OutputArray points3d,
InputOutputArray 输入的相机内参矩阵。,
bool is_projective = false )

#include <opencv2/sfm/reconstruct.hpp>

从 2d 图像重建 3d 点,同时执行自动校准。

参数
images具有图像路径的字符串向量。
Ps包含每个图像的 3x4 投影矩阵的输出向量。
points3d具有估计的 3d 点的输出数组。
输入的相机内参矩阵。输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。 输入参数用作初始猜测。
is_projective如果为 true,则假定相机是透视的。

此方法调用以下签名,并从估计的 K、R 和 t 中提取投影矩阵。

注意
  • 图像必须按照图像序列的顺序排列。 此外,每一帧都应尽可能接近前一帧和后一帧。
  • 目前,DAISY 特征用于计算 2d 点轨迹,它仅适用于 3-4 个图像。

◆ reconstruct() [2/4]

void cv::sfm::reconstruct ( const std::vector< String > images,
OutputArray Rs,
OutputArray Ts,
InputOutputArray 输入的相机内参矩阵。,
OutputArray points3d,
bool is_projective = false )

#include <opencv2/sfm/reconstruct.hpp>

从 2d 图像重建 3d 点,同时执行自动校准。

参数
images具有图像路径的字符串向量。
Rs相机 3x3 旋转的输出向量。
Ts相机 3x1 平移的输出向量。
points3d具有估计的 3d 点的输出数组。
输入的相机内参矩阵。输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。 输入参数用作初始猜测。
is_projective如果为 true,则假定相机是透视的。

在内部,通过实例化 SFMLibmvEuclideanReconstruction 类,使用一些默认参数调用 libmv 简单管道例程。

注意
  • 图像必须按照图像序列的顺序排列。 此外,每一帧都应尽可能接近前一帧和后一帧。
  • 目前,DAISY 特征用于计算 2d 点轨迹,它仅适用于 3-4 个图像。
  • 要查看场景重建的工作示例,请查看以下教程:场景重建

◆ reconstruct() [3/4]

void cv::sfm::reconstruct ( InputArrayOfArrays points2d,
OutputArray Ps,
OutputArray points3d,
InputOutputArray 输入的相机内参矩阵。,
bool is_projective = false )

#include <opencv2/sfm/reconstruct.hpp>

从 2d 对应关系重建 3d 点,同时执行自动校准。

参数
points2d2d 点向量的输入向量(内部向量是每个图像)。
Ps包含每个图像的 3x4 投影矩阵的输出向量。
points3d具有估计的 3d 点的输出数组。
输入的相机内参矩阵。输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。 输入参数用作初始猜测。
is_projective如果为 true,则假定相机是透视的。

此方法调用以下签名,并从估计的 K、R 和 t 中提取投影矩阵。

注意
  • 轨迹必须尽可能精确。 它不处理异常值,并且对它们非常敏感。

◆ reconstruct() [4/4]

void cv::sfm::reconstruct ( InputArrayOfArrays points2d,
OutputArray Rs,
OutputArray Ts,
InputOutputArray 输入的相机内参矩阵。,
OutputArray points3d,
bool is_projective = false )

#include <opencv2/sfm/reconstruct.hpp>

从 2d 对应关系重建 3d 点,同时执行自动校准。

参数
points2d2d 点向量的输入向量(内部向量是每个图像)。
Rs相机 3x3 旋转的输出向量。
Ts相机 3x1 平移的输出向量。
points3d具有估计的 3d 点的输出数组。
输入的相机内参矩阵。输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。 输入参数用作初始猜测。
is_projective如果为 true,则假定相机是透视的。

在内部,通过实例化 SFMLibmvEuclideanReconstruction 类,使用一些默认参数调用 libmv 简单管道例程。

注意
  • 轨迹必须尽可能精确。 它不处理异常值,并且对它们非常敏感。
  • 要查看相机运动重建的工作示例,请查看以下教程:相机运动估计