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 簡單管道例程。

注意
  • 軌跡必須儘可能精確。 它不處理異常值,並且對它們非常敏感。
  • 要檢視相機運動重建的工作示例,請檢視以下教程:相機運動估計