mirror of
https://github.com/storytold/LiveScan3D.git
synced 2026-10-18 00:32:59 +00:00
Moved to Visual Studio 2015, OpenCV 3.2.0, x64
This commit is contained in:
@@ -40,14 +40,14 @@
|
||||
//
|
||||
//M*/
|
||||
|
||||
#ifndef __OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP__
|
||||
#define __OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP__
|
||||
#ifndef OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP
|
||||
#define OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP
|
||||
|
||||
#include "opencv2/core/core.hpp"
|
||||
#include "opencv2/core.hpp"
|
||||
#include "opencv2/opencv_modules.hpp"
|
||||
|
||||
#if defined(HAVE_OPENCV_GPU) && !defined(ANDROID)
|
||||
# include "opencv2/gpu/gpu.hpp"
|
||||
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||
#include "opencv2/cudaoptflow.hpp"
|
||||
#endif
|
||||
|
||||
namespace cv
|
||||
@@ -55,6 +55,9 @@ namespace cv
|
||||
namespace videostab
|
||||
{
|
||||
|
||||
//! @addtogroup videostab
|
||||
//! @{
|
||||
|
||||
class CV_EXPORTS ISparseOptFlowEstimator
|
||||
{
|
||||
public:
|
||||
@@ -78,11 +81,12 @@ class CV_EXPORTS PyrLkOptFlowEstimatorBase
|
||||
public:
|
||||
PyrLkOptFlowEstimatorBase() { setWinSize(Size(21, 21)); setMaxLevel(3); }
|
||||
|
||||
void setWinSize(Size val) { winSize_ = val; }
|
||||
Size winSize() const { return winSize_; }
|
||||
virtual void setWinSize(Size val) { winSize_ = val; }
|
||||
virtual Size winSize() const { return winSize_; }
|
||||
|
||||
void setMaxLevel(int val) { maxLevel_ = val; }
|
||||
int maxLevel() const { return maxLevel_; }
|
||||
virtual void setMaxLevel(int val) { maxLevel_ = val; }
|
||||
virtual int maxLevel() const { return maxLevel_; }
|
||||
virtual ~PyrLkOptFlowEstimatorBase() {}
|
||||
|
||||
protected:
|
||||
Size winSize_;
|
||||
@@ -98,7 +102,29 @@ public:
|
||||
OutputArray status, OutputArray errors);
|
||||
};
|
||||
|
||||
#if defined(HAVE_OPENCV_GPU) && !defined(ANDROID)
|
||||
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||
|
||||
class CV_EXPORTS SparsePyrLkOptFlowEstimatorGpu
|
||||
: public PyrLkOptFlowEstimatorBase, public ISparseOptFlowEstimator
|
||||
{
|
||||
public:
|
||||
SparsePyrLkOptFlowEstimatorGpu();
|
||||
|
||||
virtual void run(
|
||||
InputArray frame0, InputArray frame1, InputArray points0, InputOutputArray points1,
|
||||
OutputArray status, OutputArray errors);
|
||||
|
||||
void run(const cuda::GpuMat &frame0, const cuda::GpuMat &frame1, const cuda::GpuMat &points0, cuda::GpuMat &points1,
|
||||
cuda::GpuMat &status, cuda::GpuMat &errors);
|
||||
|
||||
void run(const cuda::GpuMat &frame0, const cuda::GpuMat &frame1, const cuda::GpuMat &points0, cuda::GpuMat &points1,
|
||||
cuda::GpuMat &status);
|
||||
|
||||
private:
|
||||
Ptr<cuda::SparsePyrLKOpticalFlow> optFlowEstimator_;
|
||||
cuda::GpuMat frame0_, frame1_, points0_, points1_, status_, errors_;
|
||||
};
|
||||
|
||||
class CV_EXPORTS DensePyrLkOptFlowEstimatorGpu
|
||||
: public PyrLkOptFlowEstimatorBase, public IDenseOptFlowEstimator
|
||||
{
|
||||
@@ -108,12 +134,16 @@ public:
|
||||
virtual void run(
|
||||
InputArray frame0, InputArray frame1, InputOutputArray flowX, InputOutputArray flowY,
|
||||
OutputArray errors);
|
||||
|
||||
private:
|
||||
gpu::PyrLKOpticalFlow optFlowEstimator_;
|
||||
gpu::GpuMat frame0_, frame1_, flowX_, flowY_, errors_;
|
||||
Ptr<cuda::DensePyrLKOpticalFlow> optFlowEstimator_;
|
||||
cuda::GpuMat frame0_, frame1_, flowX_, flowY_, errors_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
//! @}
|
||||
|
||||
} // namespace videostab
|
||||
} // namespace cv
|
||||
|
||||
|
||||
Reference in New Issue
Block a user