From 69352e5241bc3764add41d1cfeaa302191df72c2 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Mon, 1 Aug 2011 12:47:04 +0000 Subject: [PATCH] Java API: Added base port of features2d.DescriptorMatcher class --- modules/java/config/features2d.filelist | 2 + modules/java/src/cpp/converters.h | 1 + modules/java/src/cpp/features2d_manual.hpp | 55 ++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 modules/java/config/features2d.filelist create mode 100644 modules/java/src/cpp/features2d_manual.hpp diff --git a/modules/java/config/features2d.filelist b/modules/java/config/features2d.filelist new file mode 100644 index 000000000..cbe849e6c --- /dev/null +++ b/modules/java/config/features2d.filelist @@ -0,0 +1,2 @@ +include/opencv2/features2d/features2d.hpp +../java/src/cpp/features2d_manual.hpp diff --git a/modules/java/src/cpp/converters.h b/modules/java/src/cpp/converters.h index db133adf3..b774764cf 100644 --- a/modules/java/src/cpp/converters.h +++ b/modules/java/src/cpp/converters.h @@ -2,6 +2,7 @@ #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" +#include "features2d_manual.hpp" void Mat_to_vector_int(cv::Mat& mat, std::vector& v_int); diff --git a/modules/java/src/cpp/features2d_manual.hpp b/modules/java/src/cpp/features2d_manual.hpp new file mode 100644 index 000000000..8af711fd5 --- /dev/null +++ b/modules/java/src/cpp/features2d_manual.hpp @@ -0,0 +1,55 @@ +#ifndef __OPENCV_FEATURES_2D_MANUAL_HPP__ +#define __OPENCV_FEATURES_2D_MANUAL_HPP__ + +#include "opencv2/features2d/features2d.hpp" + +namespace cv +{ + +class CV_EXPORTS_AS(DescriptorMatcher) javaDescriptorMatcher : public DescriptorMatcher +{ +public: +#if 0 + CV_WRAP virtual bool isMaskSupported() const; + CV_WRAP virtual void add( const vector& descriptors ); + //CV_WRAP const vector& getTrainDescriptors() const; + CV_WRAP virtual void clear(); + CV_WRAP virtual bool empty() const; + CV_WRAP virtual void train(); + CV_WRAP void match( const Mat& queryDescriptors, const Mat& trainDescriptors, + vector& matches, const Mat& mask=Mat() ) const; + CV_WRAP void knnMatch( const Mat& queryDescriptors, const Mat& trainDescriptors, + vector >& matches, int k, + const Mat& mask=Mat(), bool compactResult=false ) const; + CV_WRAP void radiusMatch( const Mat& queryDescriptors, const Mat& trainDescriptors, + vector >& matches, float maxDistance, + const Mat& mask=Mat(), bool compactResult=false ) const; + CV_WRAP void match( const Mat& queryDescriptors, vector& matches, + const vector& masks=vector() ); + CV_WRAP void knnMatch( const Mat& queryDescriptors, vector >& matches, int k, + const vector& masks=vector(), bool compactResult=false ); + CV_WRAP void radiusMatch( const Mat& queryDescriptors, vector >& matches, float maxDistance, + const vector& masks=vector(), bool compactResult=false ); + CV_WRAP virtual void read( const FileNode& ); + // Writes matcher object to a file storage + CV_WRAP virtual void write( FileStorage& ) const; +#endif + + CV_WRAP_AS(clone) javaDescriptorMatcher* jclone( bool emptyTrainData=false ) const + { + Ptr matcher = DescriptorMatcher::clone(emptyTrainData); + matcher.addref(); + return (javaDescriptorMatcher*)((DescriptorMatcher*) matcher); + } + + CV_WRAP_AS(create) static javaDescriptorMatcher* jcreate( const string& descriptorMatcherType ) + { + Ptr matcher = DescriptorMatcher::create(descriptorMatcherType); + matcher.addref(); + return (javaDescriptorMatcher*)((DescriptorMatcher*) matcher); + } +}; + +} //cv + +#endif // __OPENCV_FEATURES_2D_MANUAL_HPP__ \ No newline at end of file