Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
13d087e6
Commit
13d087e6
authored
Apr 18, 2013
by
Vladislav Vinogradov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
videostab module fixes
parent
fdeec689
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
39 additions
and
20 deletions
+39
-20
CMakeLists.txt
modules/videostab/CMakeLists.txt
+2
-1
global_motion.hpp
...les/videostab/include/opencv2/videostab/global_motion.hpp
+6
-4
optical_flow.hpp
modules/videostab/include/opencv2/videostab/optical_flow.hpp
+5
-3
wobble_suppression.hpp
...ideostab/include/opencv2/videostab/wobble_suppression.hpp
+1
-4
global_motion.cpp
modules/videostab/src/global_motion.cpp
+8
-2
inpainting.cpp
modules/videostab/src/inpainting.cpp
+1
-1
optical_flow.cpp
modules/videostab/src/optical_flow.cpp
+4
-2
wobble_suppression.cpp
modules/videostab/src/wobble_suppression.cpp
+10
-1
videostab.cpp
samples/cpp/videostab.cpp
+2
-2
No files found.
modules/videostab/CMakeLists.txt
View file @
13d087e6
set
(
the_description
"Video stabilization"
)
ocv_define_module
(
videostab opencv_imgproc opencv_features2d opencv_video opencv_photo opencv_calib3d OPTIONAL opencv_gpu opencv_highgui
)
ocv_define_module
(
videostab opencv_imgproc opencv_features2d opencv_video opencv_photo opencv_calib3d
OPTIONAL opencv_gpu opencv_gpuwarping opencv_gpuoptflow opencv_highgui
)
modules/videostab/include/opencv2/videostab/global_motion.hpp
View file @
13d087e6
...
...
@@ -52,8 +52,8 @@
#include "opencv2/videostab/motion_core.hpp"
#include "opencv2/videostab/outlier_rejection.hpp"
#ifdef HAVE_OPENCV_GPU
#include "opencv2/gpu
.hpp"
#ifdef HAVE_OPENCV_GPU
IMGPROC
# include "opencv2/gpuimgproc
.hpp"
#endif
namespace
cv
...
...
@@ -199,7 +199,8 @@ private:
std
::
vector
<
Point2f
>
pointsPrevGood_
,
pointsGood_
;
};
#ifdef HAVE_OPENCV_GPU
#if defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
class
CV_EXPORTS
KeypointBasedMotionEstimatorGpu
:
public
ImageMotionEstimatorBase
{
public
:
...
...
@@ -228,7 +229,8 @@ private:
std
::
vector
<
Point2f
>
hostPointsPrevTmp_
,
hostPointsTmp_
;
std
::
vector
<
uchar
>
rejectionStatus_
;
};
#endif
#endif // defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
CV_EXPORTS
Mat
getMotion
(
int
from
,
int
to
,
const
std
::
vector
<
Mat
>
&
motions
);
...
...
modules/videostab/include/opencv2/videostab/optical_flow.hpp
View file @
13d087e6
...
...
@@ -46,8 +46,8 @@
#include "opencv2/core.hpp"
#include "opencv2/opencv_modules.hpp"
#ifdef HAVE_OPENCV_GPU
#include "opencv2/gpu.hpp"
#ifdef HAVE_OPENCV_GPU
OPTFLOW
#include "opencv2/gpu
optflow
.hpp"
#endif
namespace
cv
...
...
@@ -99,7 +99,8 @@ public:
OutputArray
status
,
OutputArray
errors
);
};
#ifdef HAVE_OPENCV_GPU
#ifdef HAVE_OPENCV_GPUOPTFLOW
class
CV_EXPORTS
SparsePyrLkOptFlowEstimatorGpu
:
public
PyrLkOptFlowEstimatorBase
,
public
ISparseOptFlowEstimator
{
...
...
@@ -135,6 +136,7 @@ private:
gpu
::
PyrLKOpticalFlow
optFlowEstimator_
;
gpu
::
GpuMat
frame0_
,
frame1_
,
flowX_
,
flowY_
,
errors_
;
};
#endif
}
// namespace videostab
...
...
modules/videostab/include/opencv2/videostab/wobble_suppression.hpp
View file @
13d087e6
...
...
@@ -45,13 +45,10 @@
#include <vector>
#include "opencv2/core.hpp"
#include "opencv2/core/gpumat.hpp"
#include "opencv2/videostab/global_motion.hpp"
#include "opencv2/videostab/log.hpp"
#ifdef HAVE_OPENCV_GPU
#include "opencv2/gpu.hpp"
#endif
namespace
cv
{
namespace
videostab
...
...
modules/videostab/src/global_motion.cpp
View file @
13d087e6
...
...
@@ -47,6 +47,10 @@
#include "opencv2/opencv_modules.hpp"
#include "clp.hpp"
#ifdef HAVE_OPENCV_GPU
# include "opencv2/gpu.hpp"
#endif
namespace
cv
{
namespace
videostab
...
...
@@ -728,7 +732,8 @@ Mat KeypointBasedMotionEstimator::estimate(const Mat &frame0, const Mat &frame1,
}
#ifdef HAVE_OPENCV_GPU
#if defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
KeypointBasedMotionEstimatorGpu
::
KeypointBasedMotionEstimatorGpu
(
Ptr
<
MotionEstimatorBase
>
estimator
)
:
ImageMotionEstimatorBase
(
estimator
->
motionModel
()),
motionEstimator_
(
estimator
)
{
...
...
@@ -799,7 +804,8 @@ Mat KeypointBasedMotionEstimatorGpu::estimate(const gpu::GpuMat &frame0, const g
// estimate motion
return
motionEstimator_
->
estimate
(
hostPointsPrev_
,
hostPoints_
,
ok
);
}
#endif // HAVE_OPENCV_GPU
#endif // defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
Mat
getMotion
(
int
from
,
int
to
,
const
std
::
vector
<
Mat
>
&
motions
)
...
...
modules/videostab/src/inpainting.cpp
View file @
13d087e6
...
...
@@ -323,7 +323,7 @@ public:
MotionInpainter
::
MotionInpainter
()
{
#ifdef HAVE_OPENCV_GPU
#ifdef HAVE_OPENCV_GPU
OPTFLOW
setOptFlowEstimator
(
new
DensePyrLkOptFlowEstimatorGpu
());
#else
CV_Error
(
Error
::
StsNotImplemented
,
"Current implementation of MotionInpainter requires GPU"
);
...
...
modules/videostab/src/optical_flow.cpp
View file @
13d087e6
...
...
@@ -58,7 +58,8 @@ void SparsePyrLkOptFlowEstimator::run(
}
#ifdef HAVE_OPENCV_GPU
#ifdef HAVE_OPENCV_GPUOPTFLOW
SparsePyrLkOptFlowEstimatorGpu
::
SparsePyrLkOptFlowEstimatorGpu
()
{
CV_Assert
(
gpu
::
getCudaEnabledDeviceCount
()
>
0
);
...
...
@@ -133,7 +134,8 @@ void DensePyrLkOptFlowEstimatorGpu::run(
flowX_
.
download
(
flowX
.
getMatRef
());
flowY_
.
download
(
flowY
.
getMatRef
());
}
#endif // HAVE_OPENCV_GPU
#endif // HAVE_OPENCV_GPUOPTFLOW
}
// namespace videostab
}
// namespace cv
modules/videostab/src/wobble_suppression.cpp
View file @
13d087e6
...
...
@@ -44,6 +44,15 @@
#include "opencv2/videostab/wobble_suppression.hpp"
#include "opencv2/videostab/ring_buffer.hpp"
#ifdef HAVE_OPENCV_GPUWARPING
# include "opencv2/gpuwarping.hpp"
#endif
#ifdef HAVE_OPENCV_GPU
# include "opencv2/gpu.hpp"
#endif
namespace
cv
{
namespace
videostab
...
...
@@ -113,7 +122,7 @@ void MoreAccurateMotionWobbleSuppressor::suppress(int idx, const Mat &frame, Mat
}
#ifdef HAVE_OPENCV_GPU
#ifdef HAVE_OPENCV_GPU
WARPING
void
MoreAccurateMotionWobbleSuppressorGpu
::
suppress
(
int
idx
,
const
gpu
::
GpuMat
&
frame
,
gpu
::
GpuMat
&
result
)
{
CV_Assert
(
motions_
&&
stabilizationMotions_
);
...
...
samples/cpp/videostab.cpp
View file @
13d087e6
...
...
@@ -216,7 +216,7 @@ public:
outlierRejector
=
tblor
;
}
#if
def HAVE_OPENCV_GPU
#if
defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
if
(
gpu
)
{
KeypointBasedMotionEstimatorGpu
*
kbest
=
new
KeypointBasedMotionEstimatorGpu
(
est
);
...
...
@@ -257,7 +257,7 @@ public:
outlierRejector
=
tblor
;
}
#if
def HAVE_OPENCV_GPU
#if
defined(HAVE_OPENCV_GPUIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
if
(
gpu
)
{
KeypointBasedMotionEstimatorGpu
*
kbest
=
new
KeypointBasedMotionEstimatorGpu
(
est
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment