43
#ifndef OPENCV_VIDEOSTAB_INPAINTINT_HPP
44
#define OPENCV_VIDEOSTAB_INPAINTINT_HPP
47
#include "opencv2/core.hpp"
48
#include "opencv2/videostab/optical_flow.hpp"
49
#include "opencv2/videostab/fast_marching.hpp"
50
#include "opencv2/videostab/global_motion.hpp"
51
#include "opencv2/photo.hpp"
65
: radius_(0), motionModel_(MM_UNKNOWN), frames_(0), motions_(0),
66
stabilizedFrames_(0), stabilizationMotions_(0) {}
70
virtual
void
setRadius(
int
val) { radius_ = val; }
71
virtual
int
radius()
const
{
return
radius_; }
73
virtual
void
setMotionModel(
MotionModel
val) { motionModel_ = val; }
74
virtual
MotionModel
motionModel()
const
{
return
motionModel_; }
81
virtual
void
setFrames(
const
std::vector<Mat> &val) { frames_ = &val; }
82
virtual
const
std::vector<Mat>& frames()
const
{
return
*frames_; }
84
virtual
void
setMotions(
const
std::vector<Mat> &val) { motions_ = &val; }
85
virtual
const
std::vector<Mat>& motions()
const
{
return
*motions_; }
87
virtual
void
setStabilizedFrames(
const
std::vector<Mat> &val) { stabilizedFrames_ = &val; }
88
virtual
const
std::vector<Mat>& stabilizedFrames()
const
{
return
*stabilizedFrames_; }
90
virtual
void
setStabilizationMotions(
const
std::vector<Mat> &val) { stabilizationMotions_ = &val; }
91
virtual
const
std::vector<Mat>& stabilizationMotions()
const
{
return
*stabilizationMotions_; }
96
const
std::vector<Mat> *frames_;
97
const
std::vector<Mat> *motions_;
98
const
std::vector<Mat> *stabilizedFrames_;
99
const
std::vector<Mat> *stabilizationMotions_;
112
bool
empty()
const
{
return
inpainters_.empty(); }
114
virtual
void
setRadius(
int
val) CV_OVERRIDE;
115
virtual
void
setMotionModel(
MotionModel
val) CV_OVERRIDE;
116
virtual
void
setFrames(
const
std::vector<Mat> &val) CV_OVERRIDE;
117
virtual
void
setMotions(
const
std::vector<Mat> &val) CV_OVERRIDE;
118
virtual
void
setStabilizedFrames(
const
std::vector<Mat> &val) CV_OVERRIDE;
119
virtual
void
setStabilizationMotions(
const
std::vector<Mat> &val) CV_OVERRIDE;
121
virtual
void
inpaint(
int
idx,
Mat
&frame,
Mat
&mask) CV_OVERRIDE;
124
std::vector<Ptr<InpainterBase> > inpainters_;
132
void
setStdevThresh(
float
val) { stdevThresh_ = val; }
133
float
stdevThresh()
const
{
return
stdevThresh_; }
135
virtual
void
inpaint(
int
idx,
Mat
&frame,
Mat
&mask) CV_OVERRIDE;
149
void
setFlowErrorThreshold(
float
val) { flowErrorThreshold_ = val; }
150
float
flowErrorThreshold()
const
{
return
flowErrorThreshold_; }
152
void
setDistThreshold(
float
val) { distThresh_ = val; }
153
float
distThresh()
const
{
return
distThresh_; }
155
void
setBorderMode(
int
val) { borderMode_ = val; }
156
int
borderMode()
const
{
return
borderMode_; }
158
virtual
void
inpaint(
int
idx,
Mat
&frame,
Mat
&mask) CV_OVERRIDE;
163
float
flowErrorThreshold_;
167
Mat
frame1_, transformedFrame1_;
177
virtual
void
inpaint(
int
idx,
Mat
&frame,
Mat
&mask) CV_OVERRIDE;
188
virtual
void
inpaint(
int
idx,
Mat
&frame,
Mat
&mask) CV_OVERRIDE;
196
inline
ColorInpainter::ColorInpainter(
int
_method,
double
_radius)
197
: method_(_method), radius_(_radius) {}
199CV_EXPORTS
void
calcFlowMask(
200
const
Mat
&flowX,
const
Mat
&flowY,
const
Mat
&errors,
float
maxError,
201
const
Mat
&mask0,
const
Mat
&mask1,
Mat
&flowMask);
203CV_EXPORTS
void
completeFrameAccordingToFlow(
204
const
Mat
&flowMask,
const
Mat
&flowX,
const
Mat
&flowY,
const
Mat
&frame1,
const
Mat
&mask1,
205
float
distThresh,
Mat& frame0,
Mat
&mask0);
Template matrix class derived from Mat
Definition:
mat.hpp:2199
n-dimensional dense array class
Definition:
mat.hpp:802
Definition:
videostab/inpainting.hpp:175
Definition:
videostab/inpainting.hpp:184
Definition:
videostab/inpainting.hpp:128
Describes the Fast Marching Method implementation.
Definition:
fast_marching.hpp:64
Definition:
videostab/inpainting.hpp:62
Definition:
videostab/inpainting.hpp:109
Definition:
videostab/inpainting.hpp:142
Definition:
videostab/inpainting.hpp:103
CV_EXPORTS_W void inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)
Restores the selected region in an image using the region neighborhood.
@ INPAINT_TELEA
Use the algorithm proposed by Alexandru Telea
Definition:
photo.hpp:97
MotionModel
Describes motion model between two point clouds.
Definition:
motion_core.hpp:60
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75
Definition:
cvstd_wrapper.hpp:74