OpenCV  3.2.0-dev
Open Source Computer Vision
Video Stabilization

The video stabilization module contains a set of functions and classes that can be used to solve the problem of video stabilization. More...

Collaboration diagram for Video Stabilization:

Modules

 Global Motion Estimation
 The video stabilization module contains a set of functions and classes for global motion estimation between point clouds or between images.
 
 Fast Marching Method
 The Fast Marching Method [81] is used in of the video stabilization routines to do motion and color inpainting.
 

Classes

class  cv::videostab::ColorAverageInpainter
 
class  cv::videostab::ColorInpainter
 
class  cv::videostab::ConsistentMosaicInpainter
 
class  cv::videostab::DeblurerBase
 
class  cv::videostab::IDenseOptFlowEstimator
 
class  cv::videostab::IFrameSource
 
class  cv::videostab::ILog
 
class  cv::videostab::InpainterBase
 
class  cv::videostab::InpaintingPipeline
 
class  cv::videostab::IOutlierRejector
 
class  cv::videostab::ISparseOptFlowEstimator
 
class  cv::videostab::LogToStdout
 
class  cv::videostab::MoreAccurateMotionWobbleSuppressor
 
class  cv::videostab::MoreAccurateMotionWobbleSuppressorBase
 
class  cv::videostab::MotionInpainter
 
class  cv::videostab::NullDeblurer
 
class  cv::videostab::NullFrameSource
 
class  cv::videostab::NullInpainter
 
class  cv::videostab::NullLog
 
class  cv::videostab::NullOutlierRejector
 
class  cv::videostab::NullWobbleSuppressor
 
class  cv::videostab::OnePassStabilizer
 
class  cv::videostab::PyrLkOptFlowEstimatorBase
 
class  cv::videostab::SparsePyrLkOptFlowEstimator
 
class  cv::videostab::StabilizerBase
 
class  cv::videostab::TranslationBasedLocalOutlierRejector
 
class  cv::videostab::TwoPassStabilizer
 
class  cv::videostab::VideoFileSource
 
class  cv::videostab::WeightingDeblurer
 
class  cv::videostab::WobbleSuppressorBase
 

Functions

 cv::videostab::ColorInpainter::ColorInpainter (int method=INPAINT_TELEA, double radius=2.)
 
template<typename T >
T & cv::videostab::at (int idx, std::vector< T > &items)
 
template<typename T >
const T & cv::videostab::at (int idx, const std::vector< T > &items)
 
float cv::videostab::calcBlurriness (const Mat &frame)
 
void cv::videostab::calcFlowMask (const Mat &flowX, const Mat &flowY, const Mat &errors, float maxError, const Mat &mask0, const Mat &mask1, Mat &flowMask)
 
void cv::videostab::completeFrameAccordingToFlow (const Mat &flowMask, const Mat &flowX, const Mat &flowY, const Mat &frame1, const Mat &mask1, float distThresh, Mat &frame0, Mat &mask0)
 

Detailed Description

The video stabilization module contains a set of functions and classes that can be used to solve the problem of video stabilization.

There are a few methods implemented, most of them are described in the papers [55] and [34] . However, there are some extensions and deviations from the original paper methods.

References

  1. "Full-Frame Video Stabilization with Motion Inpainting" Yasuyuki Matsushita, Eyal Ofek, Weina Ge, Xiaoou Tang, Senior Member, and Heung-Yeung Shum
  2. "Auto-Directed Video Stabilization with Robust L1 Optimal Camera Paths" Matthias Grundmann, Vivek Kwatra, Irfan Essa

Function Documentation

cv::videostab::ColorInpainter::ColorInpainter ( int  method = INPAINT_TELEA,
double  radius = 2. 
)
inline

#include <videostab/include/opencv2/videostab/inpainting.hpp>

References cv::videostab::calcFlowMask(), cv::videostab::completeFrameAccordingToFlow(), and CV_EXPORTS.

Here is the call graph for this function:

template<typename T >
T& cv::videostab::at ( int  idx,
std::vector< T > &  items 
)
inline

#include <videostab/include/opencv2/videostab/ring_buffer.hpp>

References cv::BORDER_WRAP, and cv::borderInterpolate().

Here is the call graph for this function:

template<typename T >
const T& cv::videostab::at ( int  idx,
const std::vector< T > &  items 
)
inline

#include <videostab/include/opencv2/videostab/ring_buffer.hpp>

References cv::BORDER_WRAP, and cv::borderInterpolate().

Here is the call graph for this function:

float cv::videostab::calcBlurriness ( const Mat frame)

#include <videostab/include/opencv2/videostab/deblurring.hpp>

void cv::videostab::calcFlowMask ( const Mat flowX,
const Mat flowY,
const Mat errors,
float  maxError,
const Mat mask0,
const Mat mask1,
Mat flowMask 
)

#include <videostab/include/opencv2/videostab/inpainting.hpp>

Referenced by cv::videostab::ColorInpainter::ColorInpainter().

Here is the caller graph for this function:

void cv::videostab::completeFrameAccordingToFlow ( const Mat flowMask,
const Mat flowX,
const Mat flowY,
const Mat frame1,
const Mat mask1,
float  distThresh,
Mat frame0,
Mat mask0 
)

#include <videostab/include/opencv2/videostab/inpainting.hpp>

Referenced by cv::videostab::ColorInpainter::ColorInpainter().

Here is the caller graph for this function: