Added WITH_CLP flag support into cmake scripts.
This commit is contained in:
parent
b5a1bad7a4
commit
ae839df55d
@ -124,6 +124,7 @@ OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON
|
||||
OCV_OPTION(WITH_VIDEOINPUT "Build HighGUI with DirectShow support" ON IF WIN32 )
|
||||
OCV_OPTION(WITH_XIMEA "Include XIMEA cameras support" OFF IF WIN32 )
|
||||
OCV_OPTION(WITH_XINE "Include Xine support (GPL)" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID AND NOT IOS) )
|
||||
OCV_OPTION(WITH_CLP "Include Clp support (EPL)" OFF IF (NOT ANDROID AND NOT IOS) )
|
||||
|
||||
# OpenCV build components
|
||||
# ===================================================
|
||||
@ -527,6 +528,22 @@ if(WITH_EIGEN)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
########################## Clp #####################################
|
||||
set(HAVE_CLP FALSE)
|
||||
|
||||
if(WITH_CLP)
|
||||
find_path(CLP_INCLUDE_PATH "coin"
|
||||
PATHS "/usr/local/include" "/usr/include" "/opt/include"
|
||||
DOC "The path to Clp headers")
|
||||
if(CLP_INCLUDE_PATH)
|
||||
ocv_include_directories(${CLP_INCLUDE_PATH})
|
||||
set(CLP_LIBRARY_DIR "${CLP_INCLUDE_PATH}/../lib" CACHE PATH "Full path of Clp library directory")
|
||||
link_directories(${CLP_LIBRARY_DIR})
|
||||
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} Clp OsiClp CoinUtils)
|
||||
set(HAVE_CLP TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
################## Extra HighGUI libs on Windows ###################
|
||||
if(WIN32)
|
||||
set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} comctl32 gdi32 ole32)
|
||||
@ -799,6 +816,7 @@ endif()
|
||||
status(" Use TBB:" HAVE_TBB THEN YES ELSE NO)
|
||||
status(" Use Cuda:" HAVE_CUDA THEN YES ELSE NO)
|
||||
status(" Use Eigen:" HAVE_EIGEN THEN YES ELSE NO)
|
||||
status(" Use Clp:" HAVE_CLP THEN YES ELSE NO)
|
||||
|
||||
status("")
|
||||
status(" Python interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTABLE} (ver ${PYTHON_VERSION_MAJOR_MINOR})" ELSE NO)
|
||||
|
@ -195,3 +195,6 @@
|
||||
|
||||
/* OpenGL support*/
|
||||
#cmakedefine HAVE_OPENGL
|
||||
|
||||
/* Clp support */
|
||||
#cmakedefine HAVE_CLP
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include "opencv2/core/core.hpp"
|
||||
#include "opencv2/videostab/global_motion.hpp"
|
||||
|
||||
namespace cv
|
||||
{
|
||||
@ -108,6 +109,22 @@ private:
|
||||
std::vector<float> weight_;
|
||||
};
|
||||
|
||||
class CV_EXPORTS LpMotionStabilizer : public IMotionStabilizer
|
||||
{
|
||||
public:
|
||||
LpMotionStabilizer(MotionModel model = LINEAR_SIMILARITY);
|
||||
|
||||
void setMotionModel(MotionModel val) { model_ = val; }
|
||||
MotionModel motionModel() const { return model_; }
|
||||
|
||||
virtual void stabilize(
|
||||
int size, const std::vector<Mat> &motions, std::pair<int,int> range,
|
||||
Mat *stabilizationMotions) const;
|
||||
|
||||
private:
|
||||
MotionModel model_;
|
||||
};
|
||||
|
||||
CV_EXPORTS Mat ensureInclusionConstraint(const Mat &M, Size size, float trimRatio);
|
||||
|
||||
CV_EXPORTS float estimateOptimalTrimRatio(const Mat &M, Size size);
|
||||
|
@ -47,7 +47,7 @@
|
||||
#include "opencv2/opencv_modules.hpp"
|
||||
|
||||
#if HAVE_OPENCV_GPU
|
||||
# include "opencv2/gpu/gpu.hpp"
|
||||
#include "opencv2/gpu/gpu.hpp"
|
||||
#endif
|
||||
|
||||
namespace cv
|
||||
|
@ -45,6 +45,10 @@
|
||||
#include "opencv2/videostab/global_motion.hpp"
|
||||
#include "opencv2/videostab/ring_buffer.hpp"
|
||||
|
||||
#ifdef HAVE_CLP
|
||||
#include "coin/ClpSimplex.hpp"
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace cv
|
||||
@ -254,5 +258,27 @@ float estimateOptimalTrimRatio(const Mat &M, Size size)
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
LpMotionStabilizer::LpMotionStabilizer(MotionModel model)
|
||||
{
|
||||
setMotionModel(model);
|
||||
}
|
||||
|
||||
|
||||
#ifndef HAVE_CLP
|
||||
void LpMotionStabilizer::stabilize(int, const vector<Mat>&, pair<int,int>, Mat*) const
|
||||
{
|
||||
CV_Error(CV_StsError, "The library is built without Clp support");
|
||||
}
|
||||
#else
|
||||
void LpMotionStabilizer::stabilize(
|
||||
int size, const vector<Mat> &motions, pair<int,int> range,
|
||||
Mat *stabilizationMotions) const
|
||||
{
|
||||
// TODO implement
|
||||
CV_Error(CV_StsNotImplemented, "LpMotionStabilizer::stabilize");
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace videostab
|
||||
} // namespace cv
|
||||
|
Loading…
x
Reference in New Issue
Block a user