CV_WRAP virtual bool empty() const;\r
#endif\r
\r
+ enum\r
+ {\r
+ FAST = 1,\r
+ STAR = 2,\r
+ SIFT = 3,\r
+ SURF = 4,\r
+ ORB = 5,\r
+ MSER = 6,\r
+ GFTT = 7,\r
+ HARRIS = 8,\r
+\r
+\r
+ GRIDRETECTOR = 1000,\r
+\r
+ GRID_FAST = GRIDRETECTOR + FAST,\r
+ GRID_STAR = GRIDRETECTOR + STAR,\r
+ GRID_SIFT = GRIDRETECTOR + SIFT,\r
+ GRID_SURF = GRIDRETECTOR + SURF,\r
+ GRID_ORB = GRIDRETECTOR + ORB,\r
+ GRID_MSER = GRIDRETECTOR + MSER,\r
+ GRID_GFTT = GRIDRETECTOR + GFTT,\r
+ GRID_HARRIS = GRIDRETECTOR + HARRIS,\r
+\r
+\r
+ PYRAMIDDETECTOR = 2000,\r
+\r
+ PYRAMID_FAST = PYRAMIDDETECTOR + FAST,\r
+ PYRAMID_STAR = PYRAMIDDETECTOR + STAR,\r
+ PYRAMID_SIFT = PYRAMIDDETECTOR + SIFT,\r
+ PYRAMID_SURF = PYRAMIDDETECTOR + SURF,\r
+ PYRAMID_ORB = PYRAMIDDETECTOR + ORB,\r
+ PYRAMID_MSER = PYRAMIDDETECTOR + MSER,\r
+ PYRAMID_GFTT = PYRAMIDDETECTOR + GFTT,\r
+ PYRAMID_HARRIS = PYRAMIDDETECTOR + HARRIS,\r
+\r
+ DYNAMICDETECTOR = 3000,\r
+\r
+ DYNAMIC_FAST = DYNAMICDETECTOR + FAST,\r
+ DYNAMIC_STAR = DYNAMICDETECTOR + STAR,\r
+ DYNAMIC_SIFT = DYNAMICDETECTOR + SIFT,\r
+ DYNAMIC_SURF = DYNAMICDETECTOR + SURF,\r
+ DYNAMIC_ORB = DYNAMICDETECTOR + ORB,\r
+ DYNAMIC_MSER = DYNAMICDETECTOR + MSER,\r
+ DYNAMIC_GFTT = DYNAMICDETECTOR + GFTT,\r
+ DYNAMIC_HARRIS = DYNAMICDETECTOR + HARRIS\r
+ };\r
+\r
//supported: FAST STAR SIFT SURF ORB MSER GFTT HARRIS Grid(XXXX) Pyramid(XXXX) Dynamic(XXXX)\r
//not supported: SimpleBlob, Dense\r
- CV_WRAP_AS(create) static javaFeatureDetector* jcreate( const string& detectorType )\r
+ CV_WRAP static javaFeatureDetector* create( int detectorType )\r
{\r
- Ptr<FeatureDetector> detector = FeatureDetector::create(detectorType);\r
+ string name;\r
+ if (detectorType > DYNAMICDETECTOR)\r
+ {\r
+ name = "Dynamic";\r
+ detectorType -= DYNAMICDETECTOR;\r
+ }\r
+ if (detectorType > PYRAMIDDETECTOR)\r
+ {\r
+ name = "Pyramid";\r
+ detectorType -= PYRAMIDDETECTOR;\r
+ }\r
+ if (detectorType > GRIDRETECTOR)\r
+ {\r
+ name = "Grid";\r
+ detectorType -= GRIDRETECTOR;\r
+ }\r
+\r
+ switch(detectorType)\r
+ {\r
+ case FAST:\r
+ name += "FAST";\r
+ break;\r
+ case STAR:\r
+ name += "STAR";\r
+ break;\r
+ case SIFT:\r
+ name += "SIFT";\r
+ break;\r
+ case SURF:\r
+ name += "SURF";\r
+ break;\r
+ case ORB:\r
+ name += "ORB";\r
+ break;\r
+ case MSER:\r
+ name += "MSER";\r
+ break;\r
+ case GFTT:\r
+ name += "GFTT";\r
+ break;\r
+ case HARRIS:\r
+ name += "HARRIS";\r
+ break;\r
+ default:\r
+ CV_Error( CV_StsBadArg, "Specified feature detector type is not supported." );\r
+ break;\r
+ }\r
+\r
+ Ptr<FeatureDetector> detector = FeatureDetector::create(name);\r
detector.addref();\r
return (javaFeatureDetector*)((FeatureDetector*) detector);\r
}\r
const vector<Mat>& masks=vector<Mat>(), bool compactResult=false );\r
#endif\r
\r
+ enum\r
+ {\r
+ FLANNBASED = 1,\r
+ BRUTEFORCE = 2,\r
+ BRUTEFORCE_L1 = 3,\r
+ BRUTEFORCE_HAMMING = 4,\r
+ BRUTEFORCE_HAMMINGLUT = 5\r
+ };\r
+\r
CV_WRAP_AS(clone) javaDescriptorMatcher* jclone( bool emptyTrainData=false ) const\r
{\r
Ptr<DescriptorMatcher> matcher = this->clone(emptyTrainData);\r
}\r
\r
//supported: FlannBased, BruteForce, BruteForce-L1, BruteForce-Hamming, BruteForce-HammingLUT\r
- CV_WRAP_AS(create) static javaDescriptorMatcher* jcreate( const string& descriptorMatcherType )\r
+ CV_WRAP static javaDescriptorMatcher* create( int matcherType )\r
{\r
- Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(descriptorMatcherType);\r
+ string name;\r
+\r
+ switch(matcherType)\r
+ {\r
+ case FLANNBASED:\r
+ name = "FlannBased";\r
+ break;\r
+ case BRUTEFORCE:\r
+ name = "BruteForce";\r
+ break;\r
+ case BRUTEFORCE_L1:\r
+ name = "BruteForce-L1";\r
+ break;\r
+ case BRUTEFORCE_HAMMING:\r
+ name = "BruteForce-Hamming";\r
+ break;\r
+ case BRUTEFORCE_HAMMINGLUT:\r
+ name = "BruteForce-HammingLUT";\r
+ break;\r
+ default:\r
+ CV_Error( CV_StsBadArg, "Specified descriptor matcher type is not supported." );\r
+ break;\r
+\r
+ }\r
+\r
+ Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(name);\r
matcher.addref();\r
return (javaDescriptorMatcher*)((DescriptorMatcher*) matcher);\r
}\r
CV_WRAP virtual bool empty() const;\r
#endif\r
\r
+ enum\r
+ {\r
+ SIFT = 1,\r
+ SURF = 2,\r
+ ORB = 3,\r
+ BRIEF = 4,\r
+\r
+\r
+ OPPONENTEXTRACTOR = 1000,\r
+\r
+ OPPENENT_SIFT = OPPONENTEXTRACTOR + SIFT,\r
+ OPPENENT_SURF = OPPONENTEXTRACTOR + SURF,\r
+ OPPENENT_ORB = OPPONENTEXTRACTOR + ORB,\r
+ OPPENENT_BRIEF = OPPONENTEXTRACTOR + BRIEF\r
+ };\r
+\r
//supported SIFT, SURF, ORB, BRIEF, Opponent(XXXX)\r
//not supported: Calonder\r
- CV_WRAP_AS(create) static javaDescriptorExtractor* jcreate( const string& descriptorExtractorType )\r
+ CV_WRAP static javaDescriptorExtractor* create( int extractorType )\r
{\r
- Ptr<DescriptorExtractor> extractor = DescriptorExtractor::create(descriptorExtractorType);\r
+ string name;\r
+\r
+ if (extractorType > OPPONENTEXTRACTOR)\r
+ {\r
+ name = "Opponent";\r
+ extractorType -= OPPONENTEXTRACTOR;\r
+ }\r
+\r
+ switch(extractorType)\r
+ {\r
+ case SIFT:\r
+ name += "SIFT";\r
+ break;\r
+ case SURF:\r
+ name += "SURF";\r
+ break;\r
+ case ORB:\r
+ name += "ORB";\r
+ break;\r
+ case BRIEF:\r
+ name += "BRIEF";\r
+ break;\r
+ default:\r
+ CV_Error( CV_StsBadArg, "Specified descriptor extractor type is not supported." );\r
+ break;\r
+ }\r
+\r
+ Ptr<DescriptorExtractor> extractor = DescriptorExtractor::create(name);\r
extractor.addref();\r
return (javaDescriptorExtractor*)((DescriptorExtractor*) extractor);\r
}\r