Commit e4307d05 authored by Andrey Kamaev's avatar Andrey Kamaev

Made dependency of features2d and calib3d from highgui optional

parent d68311b9
...@@ -277,7 +277,12 @@ macro(ocv_glob_modules) ...@@ -277,7 +277,12 @@ macro(ocv_glob_modules)
if(__ocvmodules) if(__ocvmodules)
list(SORT __ocvmodules) list(SORT __ocvmodules)
foreach(mod ${__ocvmodules}) foreach(mod ${__ocvmodules})
if(EXISTS "${__path}/${mod}/CMakeLists.txt") if(CMAKE_VERSION VERSION_LESS 2.8)
get_filename_component(__realpath "${__path}/${mod}" ABSOLUTE)
else()
get_filename_component(__realpath "${__path}/${mod}" REALPATH)
endif()
if(EXISTS "${__realpath}/CMakeLists.txt" AND NOT __realpath STREQUAL CMAKE_CURRENT_SOURCE_DIR)
add_subdirectory("${__path}/${mod}" "${CMAKE_CURRENT_BINARY_DIR}/${mod}/.${mod}") add_subdirectory("${__path}/${mod}" "${CMAKE_CURRENT_BINARY_DIR}/${mod}/.${mod}")
endif() endif()
endforeach() endforeach()
......
...@@ -65,16 +65,22 @@ ...@@ -65,16 +65,22 @@
//#define ENABLE_TRIM_COL_ROW //#define ENABLE_TRIM_COL_ROW
//#pragma comment(lib, "highgui200d.lib")
//#define DEBUG_CHESSBOARD //#define DEBUG_CHESSBOARD
#ifdef DEBUG_CHESSBOARD #ifdef DEBUG_CHESSBOARD
# include "opencv2/opencv_modules.hpp"
# ifdef HAVE_OPENCV_HIGHGUI
# include "opencv2/highgui/highgui.hpp"
# else
# undef DEBUG_CHESSBOARD
# endif
#endif
#ifdef DEBUG_CHESSBOARD
static int PRINTF( const char* fmt, ... ) static int PRINTF( const char* fmt, ... )
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return vprintf(fmt, args); return vprintf(fmt, args);
} }
#include "..//..//include/opencv/highgui.h"
#else #else
static int PRINTF( const char*, ... ) static int PRINTF( const char*, ... )
{ {
......
...@@ -47,7 +47,12 @@ ...@@ -47,7 +47,12 @@
//#define DEBUG_WINDOWS //#define DEBUG_WINDOWS
#if defined(DEBUG_WINDOWS) #if defined(DEBUG_WINDOWS)
#include "highgui.h" # include "opencv2/opencv_modules.hpp"
# ifdef HAVE_OPENCV_HIGHGUI
# include "opencv2/highgui/highgui.hpp"
# else
# undef DEBUG_WINDOWS
# endif
#endif #endif
void icvGetQuadrangleHypotheses(CvSeq* contours, std::vector<std::pair<float, int> >& quads, int class_id) void icvGetQuadrangleHypotheses(CvSeq* contours, std::vector<std::pair<float, int> >& quads, int class_id)
......
...@@ -44,7 +44,12 @@ ...@@ -44,7 +44,12 @@
//#define DEBUG_CIRCLES //#define DEBUG_CIRCLES
#ifdef DEBUG_CIRCLES #ifdef DEBUG_CIRCLES
#include "opencv2/highgui/highgui.hpp" # include "opencv2/opencv_modules.hpp"
# ifdef HAVE_OPENCV_HIGHGUI
# include "opencv2/highgui/highgui.hpp"
# else
# undef DEBUG_CIRCLES
# endif
#endif #endif
using namespace cv; using namespace cv;
......
set(the_description "2D Features Framework") set(the_description "2D Features Framework")
ocv_define_module(features2d opencv_imgproc opencv_highgui opencv_flann) ocv_define_module(features2d opencv_imgproc opencv_flann OPTIONAL opencv_highgui)
...@@ -46,7 +46,12 @@ ...@@ -46,7 +46,12 @@
//#define DEBUG_BLOB_DETECTOR //#define DEBUG_BLOB_DETECTOR
#ifdef DEBUG_BLOB_DETECTOR #ifdef DEBUG_BLOB_DETECTOR
#include "opencv2/highgui/highgui.hpp" # include "opencv2/opencv_modules.hpp"
# ifdef HAVE_OPENCV_HIGHGUI
# include "opencv2/highgui/highgui.hpp"
# else
# undef DEBUG_BLOB_DETECTOR
# endif
#endif #endif
using namespace cv; using namespace cv;
......
...@@ -8,9 +8,13 @@ ...@@ -8,9 +8,13 @@
*/ */
#include "precomp.hpp" #include "precomp.hpp"
#include "opencv2/highgui/highgui.hpp" #include "opencv2/opencv_modules.hpp"
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_OPENCV_HIGHGUI
# include "opencv2/highgui/highgui.hpp"
#endif
namespace cv{ namespace cv{
inline int round(float value) inline int round(float value)
...@@ -655,6 +659,7 @@ namespace cv{ ...@@ -655,6 +659,7 @@ namespace cv{
void OneWayDescriptor::Save(const char* path) void OneWayDescriptor::Save(const char* path)
{ {
#ifdef HAVE_OPENCV_HIGHGUI
for(int i = 0; i < m_pose_count; i++) for(int i = 0; i < m_pose_count; i++)
{ {
char buf[1024]; char buf[1024];
...@@ -669,6 +674,9 @@ namespace cv{ ...@@ -669,6 +674,9 @@ namespace cv{
cvReleaseImage(&patch); cvReleaseImage(&patch);
} }
#else
CV_Error( CV_StsNotImplemented, "This method required opencv_highgui disabled in current build" );
#endif
} }
void OneWayDescriptor::Write(CvFileStorage* fs, const char* name) void OneWayDescriptor::Write(CvFileStorage* fs, const char* name)
...@@ -1772,6 +1780,7 @@ namespace cv{ ...@@ -1772,6 +1780,7 @@ namespace cv{
void loadPCAFeatures(const char* path, const char* images_list, vector<IplImage*>& patches, CvSize patch_size) void loadPCAFeatures(const char* path, const char* images_list, vector<IplImage*>& patches, CvSize patch_size)
{ {
#ifdef HAVE_OPENCV_HIGHGUI
char images_filename[1024]; char images_filename[1024];
sprintf(images_filename, "%s/%s", path, images_list); sprintf(images_filename, "%s/%s", path, images_list);
FILE *pFile = fopen(images_filename, "r"); FILE *pFile = fopen(images_filename, "r");
...@@ -1800,6 +1809,9 @@ namespace cv{ ...@@ -1800,6 +1809,9 @@ namespace cv{
cvReleaseImage(&img); cvReleaseImage(&img);
} }
fclose(pFile); fclose(pFile);
#else
CV_Error( CV_StsNotImplemented, "This method required opencv_highgui disabled in current build" );
#endif
} }
void generatePCAFeatures(const char* path, const char* img_filename, FileStorage& fs, const char* postfix, void generatePCAFeatures(const char* path, const char* img_filename, FileStorage& fs, const char* postfix,
......
...@@ -493,7 +493,6 @@ endo: ; // end search for this o ...@@ -493,7 +493,6 @@ endo: ; // end search for this o
} }
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
namespace cv namespace cv
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment