OpenCV  4.10.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  K,
bool  is_projective = false 
)

#include <opencv2/sfm/reconstruct.hpp>

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

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

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

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

◆ reconstruct() [2/4]

void cv::sfm::reconstruct ( const std::vector< String images,
OutputArray  Rs,
OutputArray  Ts,
InputOutputArray  K,
OutputArray  points3d,
bool  is_projective = false 
)

#include <opencv2/sfm/reconstruct.hpp>

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

参数
images包含图像路径的字符串向量。
Rs包含相机 3x3 旋转的输出向量。
Ts包含相机 3x1 平移的输出向量。
points3d包含估计的 3D 点的输出数组。
K输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。用作初始猜测的输入参数。
is_projective如果为真,则假设相机为投影相机。

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

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

◆ reconstruct() [3/4]

void cv::sfm::reconstruct ( InputArrayOfArrays  points2d,
OutputArray  Ps,
OutputArray  points3d,
InputOutputArray  K,
bool  is_projective = false 
)

#include <opencv2/sfm/reconstruct.hpp>

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

参数
points2d包含 2D 点向量的输入向量(内部向量按图像排列)。
Ps包含每个图像的 3x4 投影矩阵的输出向量。
points3d包含估计的 3D 点的输出数组。
K输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。用作初始猜测的输入参数。
is_projective如果为真,则假设相机为投影相机。

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

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

◆ reconstruct() [4/4]

void cv::sfm::reconstruct ( InputArrayOfArrays  points2d,
OutputArray  Rs,
OutputArray  Ts,
InputOutputArray  K,
OutputArray  points3d,
bool  is_projective = false 
)

#include <opencv2/sfm/reconstruct.hpp>

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

参数
points2d包含 2D 点向量的输入向量(内部向量按图像排列)。
Rs包含相机 3x3 旋转的输出向量。
Ts包含相机 3x1 平移的输出向量。
points3d包含估计的 3D 点的输出数组。
K输入/输出相机矩阵 \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)。用作初始猜测的输入参数。
is_projective如果为真,则假设相机为投影相机。

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

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