Merge pull request #3759 from mshabunin:wrap-all
This commit is contained in:
commit
aa506c6521
@ -21,6 +21,7 @@
|
|||||||
# OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD
|
# OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD
|
||||||
# OPENCV_MODULE_${the_module}_CUDA_OBJECTS - compiled CUDA objects list
|
# OPENCV_MODULE_${the_module}_CUDA_OBJECTS - compiled CUDA objects list
|
||||||
# OPENCV_MODULE_${the_module}_CHILDREN - list of submodules for compound modules (cmake >= 2.8.8)
|
# OPENCV_MODULE_${the_module}_CHILDREN - list of submodules for compound modules (cmake >= 2.8.8)
|
||||||
|
# OPENCV_MODULE_${the_module}_WRAPPERS - list of wrappers supporting this module
|
||||||
# HAVE_${the_module} - for fast check of module availability
|
# HAVE_${the_module} - for fast check of module availability
|
||||||
|
|
||||||
# To control the setup of the module you could also set:
|
# To control the setup of the module you could also set:
|
||||||
@ -60,6 +61,7 @@ foreach(mod ${OPENCV_MODULES_BUILD} ${OPENCV_MODULES_DISABLED_USER} ${OPENCV_MOD
|
|||||||
unset(OPENCV_MODULE_${mod}_PRIVATE_REQ_DEPS CACHE)
|
unset(OPENCV_MODULE_${mod}_PRIVATE_REQ_DEPS CACHE)
|
||||||
unset(OPENCV_MODULE_${mod}_PRIVATE_OPT_DEPS CACHE)
|
unset(OPENCV_MODULE_${mod}_PRIVATE_OPT_DEPS CACHE)
|
||||||
unset(OPENCV_MODULE_${mod}_LINK_DEPS CACHE)
|
unset(OPENCV_MODULE_${mod}_LINK_DEPS CACHE)
|
||||||
|
unset(OPENCV_MODULE_${mod}_WRAPPERS CACHE)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# clean modules info which needs to be recalculated
|
# clean modules info which needs to be recalculated
|
||||||
@ -72,7 +74,7 @@ unset(OPENCV_WORLD_MODULES CACHE)
|
|||||||
|
|
||||||
# adds dependencies to OpenCV module
|
# adds dependencies to OpenCV module
|
||||||
# Usage:
|
# Usage:
|
||||||
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>])
|
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>] [WRAP <list of wrappers>])
|
||||||
# Notes:
|
# Notes:
|
||||||
# * <list of dependencies> - can include full names of modules or full pathes to shared/static libraries or cmake targets
|
# * <list of dependencies> - can include full names of modules or full pathes to shared/static libraries or cmake targets
|
||||||
macro(ocv_add_dependencies full_modname)
|
macro(ocv_add_dependencies full_modname)
|
||||||
@ -87,16 +89,28 @@ macro(ocv_add_dependencies full_modname)
|
|||||||
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
|
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
|
||||||
elseif(d STREQUAL "PRIVATE_OPTIONAL")
|
elseif(d STREQUAL "PRIVATE_OPTIONAL")
|
||||||
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
|
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
|
||||||
|
elseif(d STREQUAL "WRAP")
|
||||||
|
set(__depsvar OPENCV_MODULE_${full_modname}_WRAPPERS)
|
||||||
else()
|
else()
|
||||||
list(APPEND ${__depsvar} "${d}")
|
list(APPEND ${__depsvar} "${d}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(__depsvar)
|
unset(__depsvar)
|
||||||
|
|
||||||
|
# hack for python
|
||||||
|
set(__python_idx)
|
||||||
|
list(FIND OPENCV_MODULE_${full_modname}_WRAPPERS "python" __python_idx)
|
||||||
|
if (NOT __python_idx EQUAL -1)
|
||||||
|
list(REMOVE_ITEM OPENCV_MODULE_${full_modname}_WRAPPERS "python")
|
||||||
|
list(APPEND OPENCV_MODULE_${full_modname}_WRAPPERS "python2" "python3")
|
||||||
|
endif()
|
||||||
|
unset(__python_idx)
|
||||||
|
|
||||||
ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS)
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS)
|
||||||
ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS)
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS)
|
||||||
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
|
||||||
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
|
||||||
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_WRAPPERS)
|
||||||
|
|
||||||
set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS}
|
set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS}
|
||||||
CACHE INTERNAL "Required dependencies of ${full_modname} module")
|
CACHE INTERNAL "Required dependencies of ${full_modname} module")
|
||||||
@ -106,11 +120,13 @@ macro(ocv_add_dependencies full_modname)
|
|||||||
CACHE INTERNAL "Required private dependencies of ${full_modname} module")
|
CACHE INTERNAL "Required private dependencies of ${full_modname} module")
|
||||||
set(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS ${OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS}
|
set(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS ${OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS}
|
||||||
CACHE INTERNAL "Optional private dependencies of ${full_modname} module")
|
CACHE INTERNAL "Optional private dependencies of ${full_modname} module")
|
||||||
|
set(OPENCV_MODULE_${full_modname}_WRAPPERS ${OPENCV_MODULE_${full_modname}_WRAPPERS}
|
||||||
|
CACHE INTERNAL "List of wrappers supporting module ${full_modname}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# declare new OpenCV module in current folder
|
# declare new OpenCV module in current folder
|
||||||
# Usage:
|
# Usage:
|
||||||
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>])
|
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>])
|
||||||
# Example:
|
# Example:
|
||||||
# ocv_add_module(yaom INTERNAL opencv_core opencv_highgui opencv_flann OPTIONAL opencv_cudev)
|
# ocv_add_module(yaom INTERNAL opencv_core opencv_highgui opencv_flann OPTIONAL opencv_cudev)
|
||||||
macro(ocv_add_module _name)
|
macro(ocv_add_module _name)
|
||||||
@ -181,6 +197,11 @@ macro(ocv_add_module _name)
|
|||||||
# add submodules if any
|
# add submodules if any
|
||||||
set(OPENCV_MODULE_${the_module}_CHILDREN "${OPENCV_MODULE_CHILDREN}" CACHE INTERNAL "List of ${the_module} submodules")
|
set(OPENCV_MODULE_${the_module}_CHILDREN "${OPENCV_MODULE_CHILDREN}" CACHE INTERNAL "List of ${the_module} submodules")
|
||||||
|
|
||||||
|
# add reverse wrapper dependencies
|
||||||
|
foreach (wrapper ${OPENCV_MODULE_${the_module}_WRAPPERS})
|
||||||
|
ocv_add_dependencies(opencv_${wrapper} OPTIONAL ${the_module})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# stop processing of current file
|
# stop processing of current file
|
||||||
return()
|
return()
|
||||||
else()
|
else()
|
||||||
@ -796,7 +817,7 @@ endmacro()
|
|||||||
# short command for adding simple OpenCV module
|
# short command for adding simple OpenCV module
|
||||||
# see ocv_add_module for argument details
|
# see ocv_add_module for argument details
|
||||||
# Usage:
|
# Usage:
|
||||||
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>])
|
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>])
|
||||||
macro(ocv_define_module module_name)
|
macro(ocv_define_module module_name)
|
||||||
ocv_debug_message("ocv_define_module(" ${module_name} ${ARGN} ")")
|
ocv_debug_message("ocv_define_module(" ${module_name} ${ARGN} ")")
|
||||||
set(_argn ${ARGN})
|
set(_argn ${ARGN})
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
set(the_description "Camera Calibration and 3D Reconstruction")
|
set(the_description "Camera Calibration and 3D Reconstruction")
|
||||||
ocv_define_module(calib3d opencv_imgproc opencv_features2d)
|
ocv_define_module(calib3d opencv_imgproc opencv_features2d WRAP java python)
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
set(the_description "The Core Functionality")
|
set(the_description "The Core Functionality")
|
||||||
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} "${OPENCL_LIBRARIES}" OPTIONAL opencv_cudev)
|
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} "${OPENCL_LIBRARIES}"
|
||||||
|
OPTIONAL opencv_cudev
|
||||||
|
WRAP java python)
|
||||||
|
|
||||||
if(HAVE_WINRT_CX)
|
if(HAVE_WINRT_CX)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
include/opencv2/core/base.hpp
|
include/opencv2/core/base.hpp
|
||||||
include/opencv2/core.hpp
|
include/opencv2/core.hpp
|
||||||
include/opencv2/core/utility.hpp
|
include/opencv2/core/utility.hpp
|
||||||
../java/generator/src/cpp/core_manual.hpp
|
misc/java/src/cpp/core_manual.hpp
|
@ -1,6 +1,6 @@
|
|||||||
#define LOG_TAG "org.opencv.core.Core"
|
#define LOG_TAG "org.opencv.core.Core"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "core_manual.hpp"
|
||||||
#include "opencv2/core/utility.hpp"
|
#include "opencv2/core/utility.hpp"
|
||||||
|
|
||||||
static int quietCallback( int, const char*, const char*, const char*, int, void* )
|
static int quietCallback( int, const char*, const char*, const char*, int, void* )
|
||||||
@ -8,10 +8,14 @@ static int quietCallback( int, const char*, const char*, const char*, int, void*
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cv::setErrorVerbosity(bool verbose)
|
namespace cv {
|
||||||
|
|
||||||
|
void setErrorVerbosity(bool verbose)
|
||||||
{
|
{
|
||||||
if(verbose)
|
if(verbose)
|
||||||
cv::redirectError(0);
|
cv::redirectError(0);
|
||||||
else
|
else
|
||||||
cv::redirectError((cv::ErrorCallback)quietCallback);
|
cv::redirectError((cv::ErrorCallback)quietCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,2 +1,2 @@
|
|||||||
set(the_description "2D Features Framework")
|
set(the_description "2D Features Framework")
|
||||||
ocv_define_module(features2d opencv_imgproc opencv_ml opencv_flann OPTIONAL opencv_highgui)
|
ocv_define_module(features2d opencv_imgproc opencv_ml opencv_flann OPTIONAL opencv_highgui WRAP java python)
|
||||||
|
1
modules/features2d/misc/java/filelist
Normal file
1
modules/features2d/misc/java/filelist
Normal file
@ -0,0 +1 @@
|
|||||||
|
misc/java/src/cpp/features2d_manual.hpp
|
112
modules/features2d/misc/java/src/cpp/features2d_converters.cpp
Normal file
112
modules/features2d/misc/java/src/cpp/features2d_converters.cpp
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
#define LOG_TAG "org.opencv.utils.Converters"
|
||||||
|
#include "common.h"
|
||||||
|
#include "features2d_converters.hpp"
|
||||||
|
|
||||||
|
using namespace cv;
|
||||||
|
|
||||||
|
#define CHECK_MAT(cond) if(!(cond)){ LOGD("FAILED: " #cond); return; }
|
||||||
|
|
||||||
|
|
||||||
|
//vector_KeyPoint
|
||||||
|
void Mat_to_vector_KeyPoint(Mat& mat, std::vector<KeyPoint>& v_kp)
|
||||||
|
{
|
||||||
|
v_kp.clear();
|
||||||
|
CHECK_MAT(mat.type()==CV_32FC(7) && mat.cols==1);
|
||||||
|
for(int i=0; i<mat.rows; i++)
|
||||||
|
{
|
||||||
|
Vec<float, 7> v = mat.at< Vec<float, 7> >(i, 0);
|
||||||
|
KeyPoint kp(v[0], v[1], v[2], v[3], v[4], (int)v[5], (int)v[6]);
|
||||||
|
v_kp.push_back(kp);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void vector_KeyPoint_to_Mat(std::vector<KeyPoint>& v_kp, Mat& mat)
|
||||||
|
{
|
||||||
|
int count = (int)v_kp.size();
|
||||||
|
mat.create(count, 1, CV_32FC(7));
|
||||||
|
for(int i=0; i<count; i++)
|
||||||
|
{
|
||||||
|
KeyPoint kp = v_kp[i];
|
||||||
|
mat.at< Vec<float, 7> >(i, 0) = Vec<float, 7>(kp.pt.x, kp.pt.y, kp.size, kp.angle, kp.response, (float)kp.octave, (float)kp.class_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//vector_DMatch
|
||||||
|
void Mat_to_vector_DMatch(Mat& mat, std::vector<DMatch>& v_dm)
|
||||||
|
{
|
||||||
|
v_dm.clear();
|
||||||
|
CHECK_MAT(mat.type()==CV_32FC4 && mat.cols==1);
|
||||||
|
for(int i=0; i<mat.rows; i++)
|
||||||
|
{
|
||||||
|
Vec<float, 4> v = mat.at< Vec<float, 4> >(i, 0);
|
||||||
|
DMatch dm((int)v[0], (int)v[1], (int)v[2], v[3]);
|
||||||
|
v_dm.push_back(dm);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void vector_DMatch_to_Mat(std::vector<DMatch>& v_dm, Mat& mat)
|
||||||
|
{
|
||||||
|
int count = (int)v_dm.size();
|
||||||
|
mat.create(count, 1, CV_32FC4);
|
||||||
|
for(int i=0; i<count; i++)
|
||||||
|
{
|
||||||
|
DMatch dm = v_dm[i];
|
||||||
|
mat.at< Vec<float, 4> >(i, 0) = Vec<float, 4>((float)dm.queryIdx, (float)dm.trainIdx, (float)dm.imgIdx, dm.distance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Mat_to_vector_vector_KeyPoint(Mat& mat, std::vector< std::vector< KeyPoint > >& vv_kp)
|
||||||
|
{
|
||||||
|
std::vector<Mat> vm;
|
||||||
|
vm.reserve( mat.rows );
|
||||||
|
Mat_to_vector_Mat(mat, vm);
|
||||||
|
for(size_t i=0; i<vm.size(); i++)
|
||||||
|
{
|
||||||
|
std::vector<KeyPoint> vkp;
|
||||||
|
Mat_to_vector_KeyPoint(vm[i], vkp);
|
||||||
|
vv_kp.push_back(vkp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void vector_vector_KeyPoint_to_Mat(std::vector< std::vector< KeyPoint > >& vv_kp, Mat& mat)
|
||||||
|
{
|
||||||
|
std::vector<Mat> vm;
|
||||||
|
vm.reserve( vv_kp.size() );
|
||||||
|
for(size_t i=0; i<vv_kp.size(); i++)
|
||||||
|
{
|
||||||
|
Mat m;
|
||||||
|
vector_KeyPoint_to_Mat(vv_kp[i], m);
|
||||||
|
vm.push_back(m);
|
||||||
|
}
|
||||||
|
vector_Mat_to_Mat(vm, mat);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Mat_to_vector_vector_DMatch(Mat& mat, std::vector< std::vector< DMatch > >& vv_dm)
|
||||||
|
{
|
||||||
|
std::vector<Mat> vm;
|
||||||
|
vm.reserve( mat.rows );
|
||||||
|
Mat_to_vector_Mat(mat, vm);
|
||||||
|
for(size_t i=0; i<vm.size(); i++)
|
||||||
|
{
|
||||||
|
std::vector<DMatch> vdm;
|
||||||
|
Mat_to_vector_DMatch(vm[i], vdm);
|
||||||
|
vv_dm.push_back(vdm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void vector_vector_DMatch_to_Mat(std::vector< std::vector< DMatch > >& vv_dm, Mat& mat)
|
||||||
|
{
|
||||||
|
std::vector<Mat> vm;
|
||||||
|
vm.reserve( vv_dm.size() );
|
||||||
|
for(size_t i=0; i<vv_dm.size(); i++)
|
||||||
|
{
|
||||||
|
Mat m;
|
||||||
|
vector_DMatch_to_Mat(vv_dm[i], m);
|
||||||
|
vm.push_back(m);
|
||||||
|
}
|
||||||
|
vector_Mat_to_Mat(vm, mat);
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
#ifndef __FEATURES2D_CONVERTERS_HPP__
|
||||||
|
#define __FEATURES2D_CONVERTERS_HPP__
|
||||||
|
|
||||||
|
#include "opencv2/opencv_modules.hpp"
|
||||||
|
#include "opencv2/core.hpp"
|
||||||
|
|
||||||
|
#include "features2d_manual.hpp"
|
||||||
|
|
||||||
|
void Mat_to_vector_KeyPoint(cv::Mat& mat, std::vector<cv::KeyPoint>& v_kp);
|
||||||
|
void vector_KeyPoint_to_Mat(std::vector<cv::KeyPoint>& v_kp, cv::Mat& mat);
|
||||||
|
|
||||||
|
void Mat_to_vector_DMatch(cv::Mat& mat, std::vector<cv::DMatch>& v_dm);
|
||||||
|
void vector_DMatch_to_Mat(std::vector<cv::DMatch>& v_dm, cv::Mat& mat);
|
||||||
|
|
||||||
|
void Mat_to_vector_vector_KeyPoint(cv::Mat& mat, std::vector< std::vector< cv::KeyPoint > >& vv_kp);
|
||||||
|
void vector_vector_KeyPoint_to_Mat(std::vector< std::vector< cv::KeyPoint > >& vv_kp, cv::Mat& mat);
|
||||||
|
|
||||||
|
void Mat_to_vector_vector_DMatch(cv::Mat& mat, std::vector< std::vector< cv::DMatch > >& vv_dm);
|
||||||
|
void vector_vector_DMatch_to_Mat(std::vector< std::vector< cv::DMatch > >& vv_dm, cv::Mat& mat);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#ifdef HAVE_OPENCV_FEATURES2D
|
#ifdef HAVE_OPENCV_FEATURES2D
|
||||||
#include "opencv2/features2d.hpp"
|
#include "opencv2/features2d.hpp"
|
||||||
|
#include "features2d_converters.hpp"
|
||||||
|
|
||||||
#undef SIMPLEBLOB // to solve conflict with wincrypt.h on windows
|
#undef SIMPLEBLOB // to solve conflict with wincrypt.h on windows
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user