From bc4588226cd058ff56018edf2d6cb26fd320e98e Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Mon, 26 Sep 2016 12:17:40 +0100 Subject: [PATCH] Add new optical flow algorithm into modules --- modules/CMakeLists.txt | 1 + modules/OpticalFlow.cpp | 15 +++++++++++++++ modules/OpticalFlow.h | 12 ++++++++++++ 3 files changed, 28 insertions(+) diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 8796b5c..98c4108 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -32,6 +32,7 @@ ADD_MODULE_USE_OPENCV( MeasureOpticalFlowDualTVL1 "MeasureOpticalFlowDualTVL1" V ADD_MODULE_USE_OPENCV( OpticalFlowDualTVL1 "OpticalFlow" VERSION 3.1.0 MODULES optflow ) ADD_MODULE_USE_OPENCV( OpticalFlowSparseToDense "OpticalFlow" VERSION 3.1.0 MODULES optflow ) ADD_MODULE_USE_OPENCV( OpticalFlowFarneback "OpticalFlow" VERSION 3.1.0 MODULES video optflow ) +ADD_MODULE_USE_OPENCV( OpticalDeepFlow "OpticalFlow" VERSION 3.1.0 MODULES video optflow ) ADD_MODULE_USE_OPENCV( DisparityStereoBM "DisparityStereoBM" VERSION 2.4.13.0 MODULES calib3d ) ADD_MODULE_USE_OPENCV( DisparityStereoSGBM "DisparityStereoSGBM" VERSION 2.4.13.0 MODULES calib3d ) diff --git a/modules/OpticalFlow.cpp b/modules/OpticalFlow.cpp index ba3e24d..8d538d2 100644 --- a/modules/OpticalFlow.cpp +++ b/modules/OpticalFlow.cpp @@ -210,5 +210,20 @@ Bool OpticalFlowFarneback::create( std::vector apcFrameList ) return bRet; } +OpticalDeepFlow::OpticalDeepFlow() +{ + /* Module Definition */ + m_pchModuleName = "OpticalDeepFlow"; + m_pchModuleTooltip = "Measure optical flow using Farneback method"; +} + +Bool OpticalDeepFlow::create( std::vector apcFrameList ) +{ + Bool bRet = commonCreate( apcFrameList ); + if( !bRet ) + return bRet; + m_cOpticalFlow = cv::optflow::createOptFlow_DeepFlow(); + return bRet; +} diff --git a/modules/OpticalFlow.h b/modules/OpticalFlow.h index 4df33d5..affe3ff 100644 --- a/modules/OpticalFlow.h +++ b/modules/OpticalFlow.h @@ -90,5 +90,17 @@ public: Bool create( std::vector apcFrameList ); }; +class OpticalDeepFlow: public OpticalFlowModule +{ + REGISTER_CLASS_FACTORY( OpticalDeepFlow ) +public: + OpticalDeepFlow(); + virtual ~OpticalDeepFlow() + { + } + Bool create( std::vector apcFrameList ); +}; + + #endif // __OPTICALFLOW_H__