From 620d122fc2923fc7474cc77fdd9266b13e280014 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Thu, 5 Jul 2012 07:58:40 +0000 Subject: [PATCH] Contrib module is added to java wrappers; fixed algorithm initialisation for python bindings --- modules/java/CMakeLists.txt | 2 +- modules/java/generator/src/cpp/jni_part.cpp | 7 ++++ modules/python/src2/cv2.cpp | 5 +-- modules/python/src2/cv2.cv.hpp | 41 +++++++++++++++++++ samples/android/face-detection/CMakeLists.txt | 1 - 5 files changed, 51 insertions(+), 5 deletions(-) diff --git a/modules/java/CMakeLists.txt b/modules/java/CMakeLists.txt index 3d1c08792b..4f919399b0 100644 --- a/modules/java/CMakeLists.txt +++ b/modules/java/CMakeLists.txt @@ -6,7 +6,7 @@ if(NOT ANDROID OR NOT PYTHON_EXECUTABLE OR ANDROID_NATIVE_API_LEVEL LESS 8) endif() set(the_description "The java bindings") -ocv_add_module(java BINDINGS opencv_core opencv_imgproc OPTIONAL opencv_objdetect opencv_features2d opencv_video opencv_highgui opencv_ml opencv_calib3d opencv_photo opencv_nonfree) +ocv_add_module(java BINDINGS opencv_core opencv_imgproc OPTIONAL opencv_objdetect opencv_features2d opencv_video opencv_highgui opencv_ml opencv_calib3d opencv_photo opencv_nonfree opencv_contrib) ocv_module_include_directories("${CMAKE_CURRENT_SOURCE_DIR}/generator/src/cpp") # get list of modules to wrap diff --git a/modules/java/generator/src/cpp/jni_part.cpp b/modules/java/generator/src/cpp/jni_part.cpp index 102157ce0e..b0315a287b 100644 --- a/modules/java/generator/src/cpp/jni_part.cpp +++ b/modules/java/generator/src/cpp/jni_part.cpp @@ -18,6 +18,10 @@ # include "opencv2/ml/ml.hpp" #endif +#ifdef HAVE_OPENCV_CONTRIB +# include "opencv2/contrib/contrib.hpp" +#endif + extern "C" { JNIEXPORT jint JNICALL @@ -40,6 +44,9 @@ JNI_OnLoad(JavaVM* vm, void* ) #ifdef HAVE_OPENCV_ML init &= cv::initModule_ml(); #endif + #ifdef HAVE_OPENCV_CONTRIB + init &= cv::initModule_contrib(); +#endif if(!init) return -1; diff --git a/modules/python/src2/cv2.cpp b/modules/python/src2/cv2.cpp index 204380a658..ad6555b08c 100644 --- a/modules/python/src2/cv2.cpp +++ b/modules/python/src2/cv2.cpp @@ -22,12 +22,11 @@ #include "opencv2/highgui/highgui.hpp" #include "opencv2/opencv_modules.hpp" + #ifdef HAVE_OPENCV_NONFREE -#include "opencv2/nonfree/nonfree.hpp" -static bool makeUseOfNonfree = cv::initModule_nonfree(); +# include "opencv2/nonfree/nonfree.hpp" #endif - using cv::flann::IndexParams; using cv::flann::SearchParams; diff --git a/modules/python/src2/cv2.cv.hpp b/modules/python/src2/cv2.cv.hpp index 1f818bfa69..3379a14e44 100644 --- a/modules/python/src2/cv2.cv.hpp +++ b/modules/python/src2/cv2.cv.hpp @@ -3878,11 +3878,52 @@ static PyMethodDef old_methods[] = { /************************************************************************/ /* Module init */ +#include "opencv2/opencv_modules.hpp" + +#ifdef HAVE_OPENCV_NONFREE +# include "opencv2/nonfree/nonfree.hpp" +#endif + +#ifdef HAVE_OPENCV_FEATURES2D +# include "opencv2/features2d/features2d.hpp" +#endif + +#ifdef HAVE_OPENCV_VIDEO +# include "opencv2/video/video.hpp" +#endif + +#ifdef HAVE_OPENCV_ML +# include "opencv2/ml/ml.hpp" +#endif + +#ifdef HAVE_OPENCV_CONTRIB +# include "opencv2/contrib/contrib.hpp" +#endif + static PyObject* init_cv() { PyObject *m, *d; cvSetErrMode(CV_ErrModeParent); + bool init = true; +#ifdef HAVE_OPENCV_NONFREE + init &= cv::initModule_nonfree(); +#endif +#ifdef HAVE_OPENCV_FEATURES2D + init &= cv::initModule_features2d(); +#endif +#ifdef HAVE_OPENCV_VIDEO + init &= cv::initModule_video(); +#endif +#ifdef HAVE_OPENCV_ML + init &= cv::initModule_ml(); +#endif + #ifdef HAVE_OPENCV_CONTRIB + init &= cv::initModule_contrib(); +#endif + if(!init) + return 0; + #define MKTYPE(NAME) NAME##_specials(); to_ok(&NAME##_Type) MKTYPE(cvcontourtree); diff --git a/samples/android/face-detection/CMakeLists.txt b/samples/android/face-detection/CMakeLists.txt index e683dfecee..70658a799b 100644 --- a/samples/android/face-detection/CMakeLists.txt +++ b/samples/android/face-detection/CMakeLists.txt @@ -2,7 +2,6 @@ set(sample example-face-detection) if(BUILD_FAT_JAVA_LIB) set(native_deps opencv_java) - ocv_include_modules(opencv_contrib) else() set(native_deps opencv_contrib) endif()