OpenCV 4.10.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)
 鲁棒地估计两个 2D 点云之间的最佳全局运动(使用 RANSAC 方法)。
 
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最大不正确对应关系比率。
prob所需的成功概率。

◆ ensureInclusionConstraint()

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

◆ estimateGlobalMotionLeastSquares()

Mat cv::videostab::estimateGlobalMotionLeastSquares ( InputOutputArray  points0,
InputOutputArray  points1,
int  model = MM_AFFINE,
float *  rmse = 0 
)

#include <opencv2/videostab/global_motion.hpp>

在最小二乘意义上估计两个 2D 点云之间的最佳全局运动。

注意
在原地工作并更改输入点数组。
参数
points0源 2D 点集(32F)。
points1目标 2D 点集(32F)。
model运动模型(最多 MM_AFFINE)。
rmse最终均方根误差。
返回值
3x3 2D 变换矩阵(32F)。

◆ estimateGlobalMotionRansac()

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 
)

#include <opencv2/videostab/global_motion.hpp>

鲁棒地估计两个 2D 点云之间的最佳全局运动(使用 RANSAC 方法)。

参数
points0源 2D 点集(32F)。
points1目标 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 的运动
返回值
从源帧到目标帧的运动。
以下是此函数的调用图