OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Video Stabilization

Topics

 Global Motion Estimation
 
 Fast Marching Method
 

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 [188] and [113] . 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

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::MaskFrameSource
 
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 >
const T & cv::videostab::at (int idx, const std::vector< T > &items)
 
template<typename T >
T & cv::videostab::at (int idx, 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)
 

Function Documentation

◆ ColorInpainter()

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

◆ at() [1/2]

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

#include <opencv2/videostab/ring_buffer.hpp>

Here is the call graph for this function:

◆ at() [2/2]

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

#include <opencv2/videostab/ring_buffer.hpp>

Here is the call graph for this function:

◆ calcBlurriness()

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

◆ calcFlowMask()

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

◆ completeFrameAccordingToFlow()

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 )