![]() |
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 ¶ms=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) |
| 假设所有中间运动已知,计算两个帧之间的运动。 | |
#include <opencv2/videostab/motion_core.hpp>
描述两个点云之间的运动模型。
|
inline |
|
inline |
#include <opencv2/videostab/motion_core.hpp>
构造函数。
| size | 子集大小。 |
| thresh | 最大重投影误差值,用于分类为内点。 |
| eps | 不正确对应关系的最大比率。 |
| 仅用于RANSAC或LMedS方法的参数。它指定了估计矩阵正确的期望置信水平(概率)。 | 所需的成功概率。 |
#include <opencv2/videostab/motion_stabilizing.hpp>
| Mat cv::videostab::estimateGlobalMotionLeastSquares | ( | InputOutputArray | points0, |
| InputOutputArray | 3x3基本矩阵。, | ||
| int | model = MM_AFFINE, | ||
| float * | rmse = 0 ) |
#include <opencv2/videostab/global_motion.hpp>
以最小二乘法估计两个 2D 点云之间的最佳全局运动。
| points0 | 2D 点的源集 (32F)。 |
| 3x3基本矩阵。 | 2D 点的目标集 (32F)。 |
| model | 运动模型(最高可达 MM_AFFINE)。 |
| rmse | 最终均方根误差。 |
| 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 点云之间的最佳全局运动。
| points0 | 2D 点的源集 (32F)。 |
| 3x3基本矩阵。 | 2D 点的目标集 (32F)。 |
| model | 运动模型。参见 cv::videostab::MotionModel。 |
| params | RANSAC 方法参数。参见 videostab::RansacParams。 |
| rmse | 最终均方根误差。 |
| ninliers | 最终内点数。 |
#include <opencv2/videostab/motion_stabilizing.hpp>
#include <opencv2/videostab/global_motion.hpp>
假设所有中间运动已知,计算两个帧之间的运动。
| from | 源帧索引。 |
| to | 目标帧索引。 |
| motions | 成对运动。motions[i] 表示从帧 i 到帧 i+1 的运动 |