全局运动估计 视频稳定


class cv::videostab::FromFileMotionReader
class cv::videostab::GaussianMotionFilter
class cv::videostab::ImageMotionEstimatorBase
Base class for global 2D motion estimation methods which take frames as input. 更多...
class cv::videostab::IMotionStabilizer
class cv::videostab::KeypointBasedMotionEstimator
Describes a global 2D motion estimation method which uses keypoints detection and optical flow for matching. 更多...
class cv::videostab::LpMotionStabilizer
class cv::videostab::MotionEstimatorBase
Base class for all global motion estimation methods. 更多...
class cv::videostab::MotionEstimatorL1
Describes a global 2D motion estimation method which minimizes L1 错误。 更多...
class cv::videostab::MotionEstimatorRansacL2
Describes a robust RANSAC-based global 2D motion estimation method which minimizes L2 错误。 更多...
class cv::videostab::MotionFilterBase
class cv::videostab::MotionStabilizationPipeline
struct cv::videostab::RansacParams
Describes RANSAC method parameters. 更多...
class cv::videostab::ToFileMotionWriter

枚举

enum 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
}
Describes motion model between two point clouds. 更多...

函数

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)
Estimates best global motion between two 2D point clouds in the least-squares sense. 更多...
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)
Estimates best global motion between two 2D point clouds robustly (using RANSAC method). 更多...
float cv::videostab::estimateOptimalTrimRatio (const Mat &M, Size size)
Mat cv::videostab::getMotion (int from, int to, const std::vector< Mat > &motions)
Computes motion between two frames assuming that all the intermediate motions are known. 更多...

详细描述

The video stabilization module contains a set of functions and classes for global motion estimation between point clouds or between images. In the last case features are extracted and matched internally. For the sake of convenience the motion estimation functions are wrapped into classes. Both the functions and the classes are available.

枚举类型文档编制

MotionModel

#include < opencv2/videostab/motion_core.hpp >

Describes motion model between two point clouds.

枚举器
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

RansacParams()

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

#include < opencv2/videostab/motion_core.hpp >

构造函数。

参数
size Subset size.
thresh Maximum re-projection error value to classify as inlier.
eps Maximum ratio of incorrect correspondences.
prob Required success probability.

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 >

Estimates best global motion between two 2D point clouds in the least-squares sense.

注意
Works in-place and changes input point arrays.
参数
points0 Source set of 2D points (32F).
points1 Destination set of 2D points (32F).
model Motion model (up to MM_AFFINE).
rmse Final root-mean-square error.
返回
3x3 2D transformation matrix (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 >

Estimates best global motion between two 2D point clouds robustly (using RANSAC method).

参数
points0 Source set of 2D points (32F).
points1 Destination set of 2D points (32F).
model Motion model. See cv::videostab::MotionModel .
params RANSAC method parameters. See videostab::RansacParams .
rmse Final root-mean-square error.
ninliers Final number of inliers.

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 >

Computes motion between two frames assuming that all the intermediate motions are known.

参数
from Source frame index.
to Destination frame index.
motions Pair-wise motions. motions[i] denotes motion from the frame i to the frame i+1
返回
Motion from the Source frame to the Destination frame.