Skip to content

Instantly share code, notes, and snippets.

@kenkawakenkenke
Last active December 10, 2017 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenkawakenkenke/9c93a1824af055f3cbebde6d9095a899 to your computer and use it in GitHub Desktop.
Save kenkawakenkenke/9c93a1824af055f3cbebde6d9095a899 to your computer and use it in GitHub Desktop.
Patch to enable SURF/SIFT in the OpenCV Java binding in Homebrew
# To enable SURF/SIFT in the Java binding for OpenCV from homebrew:
# (1) (If you already have opencv installed)
# brew uninstall opencv
# (2) brew edit opencv
# (3) Copy contents of this this file below everything else in the file
# (4) brew install --build-from-source opencv
__END__
diff --git a/modules/features2d/misc/java/src/cpp/features2d_manual.hpp b/modules/features2d/misc/java/src/cpp/features2d_manual.hpp
index 6d72bd9..ad2f49d 100644
--- a/modules/features2d/misc/java/src/cpp/features2d_manual.hpp
+++ b/modules/features2d/misc/java/src/cpp/features2d_manual.hpp
@@ -5,6 +5,7 @@
#ifdef HAVE_OPENCV_FEATURES2D
#include "opencv2/features2d.hpp"
+#include "opencv2/xfeatures2d.hpp"
#include "features2d_converters.hpp"
#undef SIMPLEBLOB // to solve conflict with wincrypt.h on windows
@@ -114,15 +115,15 @@ public:
case FAST:
fd = FastFeatureDetector::create();
break;
- //case STAR:
- // fd = xfeatures2d::StarDetector::create();
- // break;
- //case SIFT:
- // name = name + "SIFT";
- // break;
- //case SURF:
- // name = name + "SURF";
- // break;
+ case STAR:
+ fd = xfeatures2d::StarDetector::create();
+ break;
+ case SIFT:
+ fd = xfeatures2d::SIFT::create();
+ break;
+ case SURF:
+ fd = xfeatures2d::SURF::create();
+ break;
case ORB:
fd = ORB::create();
break;
@@ -142,9 +143,9 @@ public:
case SIMPLEBLOB:
fd = SimpleBlobDetector::create();
break;
- //case DENSE:
- // name = name + "Dense";
- // break;
+// case DENSE:
+// name = name + "Dense";
+// break;
case BRISK:
fd = BRISK::create();
break;
@@ -236,24 +237,24 @@ public:
Ptr<DescriptorExtractor> de;
switch(extractorType)
{
- //case SIFT:
- // name = name + "SIFT";
- // break;
- //case SURF:
- // name = name + "SURF";
- // break;
+ case SIFT:
+ de = xfeatures2d::SIFT::create();
+ break;
+ case SURF:
+ de = xfeatures2d::SURF::create();
+ break;
case ORB:
de = ORB::create();
break;
- //case BRIEF:
- // name = name + "BRIEF";
- // break;
+// case BRIEF:
+// name = name + "BRIEF";
+// break;
case BRISK:
de = BRISK::create();
break;
- //case FREAK:
- // name = name + "FREAK";
- // break;
+// case FREAK:
+// name = name + "FREAK";
+// break;
case AKAZE:
de = AKAZE::create();
break;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment