OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
全域性運動估計

詳細描述

影片穩定模組包含一組用於點雲之間或影像之間全域性運動估計的函式和類。在後一種情況下,特徵會被提取並在內部匹配。為了方便起見,運動估計函式被封裝到類中。函式和類都可用。

類  cv::videostab::FromFileMotionReader
 
類  cv::videostab::GaussianMotionFilter
 
類  cv::videostab::ImageMotionEstimatorBase
 以幀為輸入的全域性 2D 運動估計方法的基礎類。更多...
 
類  cv::videostab::IMotionStabilizer
 
類  cv::videostab::KeypointBasedMotionEstimator
 描述一種使用關鍵點檢測和光流進行匹配的全域性 2D 運動估計方法。更多...
 
類  cv::videostab::LpMotionStabilizer
 
類  cv::videostab::MotionEstimatorBase
 所有全域性運動估計方法的基礎類。更多...
 
類  cv::videostab::MotionEstimatorL1
 描述一種最小化 L1 誤差的全域性 2D 運動估計方法。更多...
 
類  cv::videostab::MotionEstimatorRansacL2
 描述一種基於 RANSAC 的魯棒全域性 2D 運動估計方法,該方法最小化 L2 誤差。更多...
 
類  cv::videostab::MotionFilterBase
 
類  cv::videostab::MotionStabilizationPipeline
 
結構體  cv::videostab::RansacParams
 描述 RANSAC 方法引數。更多...
 
類  cv::videostab::ToFileMotionWriter
 

列舉

列舉  cv::videostab::MotionModel {
  cv::videostab::MM_TRANSLATION = 0 ,
  cv::videostab::MM_TRANSLATION_AND_SCALE = 1 ,
  cv::videostab::MM_ROTATION = 2 ,
  cv::videostab::MM_RIGID = 3 ,
  cv::videostab::MM_SIMILARITY = 4 ,
  cv::videostab::MM_AFFINE = 5 ,
  cv::videostab::MM_HOMOGRAPHY = 6 ,
  cv::videostab::MM_UNKNOWN = 7
}
 描述兩個點雲之間的運動模型。更多...
 

函式

 cv::videostab::GaussianMotionFilter::GaussianMotionFilter (int radius=15, float stdev=-1.f)
 
 cv::videostab::RansacParams::RansacParams (int size, float thresh, float eps, float prob)
 建構函式。
 
Mat cv::videostab::ensureInclusionConstraint (const Mat &M, Size size, float trimRatio)
 
Mat cv::videostab::estimateGlobalMotionLeastSquares (InputOutputArray points0, InputOutputArray points1, int model=MM_AFFINE, float *rmse=0)
 以最小二乘法估計兩個 2D 點雲之間的最佳全域性運動。
 
Mat cv::videostab::estimateGlobalMotionRansac (InputArray points0, InputArray points1, int model=MM_AFFINE, const RansacParams &params=RansacParams::default2dMotion(MM_AFFINE), float *rmse=0, int *ninliers=0)
 魯棒地(使用 RANSAC 方法)估計兩個 2D 點雲之間的最佳全域性運動。
 
float cv::videostab::estimateOptimalTrimRatio (const Mat &M, Size size)
 
Mat cv::videostab::getMotion (int from, int to, const std::vector< Mat > &motions)
 假設所有中間運動已知,計算兩個幀之間的運動。
 

列舉型別文件

◆ MotionModel

#include <opencv2/videostab/motion_core.hpp>

描述兩個點雲之間的運動模型。

列舉器
MM_TRANSLATION 
Python:cv.videostab.MM_TRANSLATION
MM_TRANSLATION_AND_SCALE 
Python:cv.videostab.MM_TRANSLATION_AND_SCALE
MM_ROTATION 
Python:cv.videostab.MM_ROTATION
MM_RIGID 
Python:cv.videostab.MM_RIGID
MM_SIMILARITY 
Python:cv.videostab.MM_SIMILARITY
MM_AFFINE 
Python:cv.videostab.MM_AFFINE
MM_HOMOGRAPHY 
Python:cv.videostab.MM_HOMOGRAPHY
MM_UNKNOWN 
Python:cv.videostab.MM_UNKNOWN

函式文件

◆ GaussianMotionFilter()

cv::videostab::GaussianMotionFilter::GaussianMotionFilter ( int radius = 15,
float stdev = -1.f )
inline

#include <opencv2/videostab/motion_stabilizing.hpp>

此函式的呼叫圖如下

◆ RansacParams()

cv::videostab::RansacParams::RansacParams ( int size,
float thresh,
float eps,
float prob )
inline

#include <opencv2/videostab/motion_core.hpp>

建構函式。

引數
size子集大小。
thresh最大重投影誤差值,用於分類為內點。
eps不正確對應關係的最大比率。
僅用於RANSAC或LMedS方法的引數。它指定了估計矩陣正確的期望置信水平(機率)。所需的成功機率。

◆ ensureInclusionConstraint()

Mat cv::videostab::ensureInclusionConstraint ( const Mat & M,
Size size,
float trimRatio )

◆ estimateGlobalMotionLeastSquares()

Mat cv::videostab::estimateGlobalMotionLeastSquares ( InputOutputArray points0,
InputOutputArray 3x3基本矩陣。,
int model = MM_AFFINE,
float * rmse = 0 )

#include <opencv2/videostab/global_motion.hpp>

以最小二乘法估計兩個 2D 點雲之間的最佳全域性運動。

注意
就地工作並更改輸入點陣列。
引數
points02D 點的源集 (32F)。
3x3基本矩陣。2D 點的目標集 (32F)。
model運動模型(最高可達 MM_AFFINE)。
rmse最終均方根誤差。
返回
3x3 2D 變換矩陣 (32F)。

◆ estimateGlobalMotionRansac()

Mat cv::videostab::estimateGlobalMotionRansac ( InputArray points0,
InputArray 3x3基本矩陣。,
int model = MM_AFFINE,
const RansacParams & params = RansacParams::default2dMotion(MM_AFFINE),
float * rmse = 0,
int * ninliers = 0 )

#include <opencv2/videostab/global_motion.hpp>

魯棒地(使用 RANSAC 方法)估計兩個 2D 點雲之間的最佳全域性運動。

引數
points02D 點的源集 (32F)。
3x3基本矩陣。2D 點的目標集 (32F)。
model運動模型。參見 cv::videostab::MotionModel
paramsRANSAC 方法引數。參見 videostab::RansacParams
rmse最終均方根誤差。
ninliers最終內點數。

◆ estimateOptimalTrimRatio()

float cv::videostab::estimateOptimalTrimRatio ( const Mat & M,
Size size )

◆ getMotion()

Mat cv::videostab::getMotion ( int from,
int to,
const std::vector< Mat > & motions )

#include <opencv2/videostab/global_motion.hpp>

假設所有中間運動已知,計算兩個幀之間的運動。

引數
from源幀索引。
to目標幀索引。
motions成對運動。motions[i] 表示從幀 i 到幀 i+1 的運動
返回
從源幀到目標幀的運動。
此函式的呼叫圖如下