43
#ifndef OPENCV_VIDEOSTAB_STABILIZER_HPP
44
#define OPENCV_VIDEOSTAB_STABILIZER_HPP
48
#include "opencv2/core.hpp"
49
#include "opencv2/imgproc.hpp"
50
#include "opencv2/videostab/global_motion.hpp"
51
#include "opencv2/videostab/motion_stabilizing.hpp"
52
#include "opencv2/videostab/frame_source.hpp"
53
#include "opencv2/videostab/log.hpp"
54
#include "opencv2/videostab/inpainting.hpp"
55
#include "opencv2/videostab/deblurring.hpp"
56
#include "opencv2/videostab/wobble_suppression.hpp"
71
void
setLog(
Ptr<ILog>
ilog) { log_ = ilog; }
74
void
setRadius(
int
val) { radius_ = val; }
75
int
radius()
const
{
return
radius_; }
89
void
setTrimRatio(
float
val) { trimRatio_ = val; }
90
float
trimRatio()
const
{
return
trimRatio_; }
92
void
setCorrectionForInclusion(
bool
val) { doCorrectionForInclusion_ = val; }
93
bool
doCorrectionForInclusion()
const
{
return
doCorrectionForInclusion_; }
95
void
setBorderMode(
int
val) { borderMode_ = val; }
96
int
borderMode()
const
{
return
borderMode_; }
105
Mat
nextStabilizedFrame();
106
bool
doOneIteration();
107
virtual
void
setUp(
const
Mat
&firstFrame);
108
virtual
Mat
estimateMotion() = 0;
109
virtual
Mat
estimateStabilizationMotion() = 0;
110
void
stabilizeFrame();
111
virtual
Mat
postProcessFrame(
const
Mat
&frame);
112
void
logProcessingTime();
122
bool
doCorrectionForInclusion_;
128
int
curStabilizedPos_;
130
Mat
preProcessedFrame_;
134
std::vector<Mat> frames_;
135
std::vector<Mat> motions_;
136
std::vector<float> blurrinessRates_;
137
std::vector<Mat> stabilizedFrames_;
138
std::vector<Mat> stabilizedMasks_;
139
std::vector<Mat> stabilizationMotions_;
140
clock_t processingStartTime_;
151
virtual
void
reset() CV_OVERRIDE;
152
virtual
Mat
nextFrame() CV_OVERRIDE {
return
nextStabilizedFrame(); }
155
virtual
void
setUp(
const
Mat
&firstFrame) CV_OVERRIDE;
156
virtual
Mat
estimateMotion() CV_OVERRIDE;
157
virtual
Mat
estimateStabilizationMotion() CV_OVERRIDE;
158
virtual
Mat
postProcessFrame(
const
Mat
&frame) CV_OVERRIDE;
174
void
setEstimateTrimRatio(
bool
val) { mustEstTrimRatio_ = val; }
175
bool
mustEstimateTrimaRatio()
const
{
return
mustEstTrimRatio_; }
177
virtual
void
reset() CV_OVERRIDE;
178
virtual
Mat
nextFrame() CV_OVERRIDE;
181
void
runPrePassIfNecessary();
183
virtual
void
setUp(
const
Mat
&firstFrame) CV_OVERRIDE;
184
virtual
Mat
estimateMotion() CV_OVERRIDE;
185
virtual
Mat
estimateStabilizationMotion() CV_OVERRIDE;
186
virtual
Mat
postProcessFrame(
const
Mat
&frame) CV_OVERRIDE;
190
bool
mustEstTrimRatio_;
194
bool
doWobbleSuppression_;
195
std::vector<Mat> motions2_;
196
Mat
suppressedFrame_;
n-dimensional dense array class
Definition:
mat.hpp:802
Template class for specifying the size of an image or rectangle.
Definition:
core/types.hpp:316
Definition:
frame_source.hpp:58
Definition:
stabilizer.hpp:144
Definition:
stabilizer.hpp:67
Definition:
stabilizer.hpp:164
CV_EXPORTS_W void log(InputArray src, OutputArray dst)
Calculates the natural logarithm of every array element.
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75
Definition:
cvstd_wrapper.hpp:74