Ask Your Question

lanshan317's profile - activity

2015-10-17 14:02:46 -0500 received badge  Necromancer (source)
2015-04-16 00:07:43 -0500 answered a question using SIFT source code in OpenCV ?

I think using the OpenCV code is better, since it got more attention and tends to fix issue much faster. Other options are EzSIFT, VLFeat.

2015-04-16 00:07:43 -0500 answered a question SURF & SIFT feature detector and descriptor on OpenCV android

SIFT/SURF are in the nonfree module, and it is not included in the OpenCV for Android. Please check my answer in this thread for solutions.

2015-04-16 00:07:42 -0500 answered a question Using SIFT/SURF for feature extraction using opencv on android in Android Studio

SIFT and SURF are not in OpenCL4Android. They are included in nonfree module. Please check this thread for solutions.

2013-09-20 01:14:02 -0500 received badge  Editor (source)
2013-09-20 01:12:06 -0500 answered a question Augmented Reality on Android

To do image matching, you can look at SIFT, SURF, ORB or other feature detection algorithms. Basically, you first extract keypoints and feature descriptions from target images and the images to be matched. Then, you can employ certain image matching algorithm to perform the matching, such as brute-force method, or best-bin search method and so on.

For your project, you can first look at feature detection. You have two quick options. I assume you know how to use Android NDK in an Android project. Or at least you know how to use JNI to wrap NDK functions into JAVA interfaces.

You can either use OpenCV library to help you. OpenCV provides implementations of SIFT, SURF and so on. Unfortunately, they are in a nonfree package and are not included in the OpenCV4Android build. But you can look at this webpage. This webpage provides method to build SIFT/SURF OpenCV package for Android. A binary library is also provided, so you can directly use it.

Another option is to find an Open-source SIFT/SURF implementation, and integrate it into your project. Such as this implementation called ezSIFT.

Once you have the feature detection, you can first try the brute-force method to do the matching, see if it works as you expected. After that, you have chances to apply more advanced matching algorithms and improve the matching speed.

2013-08-05 01:18:17 -0500 received badge  Nice Answer (source)
2013-07-31 02:40:34 -0500 received badge  Necromancer (source)
2013-07-31 00:55:34 -0500 answered a question A problem in OpenCV with Android using SURF

SURF and SIFT are patented algorithms. Therefore, they are not directly included in the OpenCV4Android library. You can find those algorithms from nonfree module from the full package of OpenCV (not android version).

One way to use SURF and SIFT without re-compiling the whole OpenCV library for Android platform is to build the nonfree module for Android and use it along with the OpenCV4Android library. Here is a tutorial showing how to do it: You can follow the tutorial to achieve your goal, if I understand your goal correctly. Hope this will help.

2013-06-29 22:24:20 -0500 received badge  Teacher (source)
2013-05-23 15:15:12 -0500 received badge  Necromancer (source)
2013-05-23 14:07:23 -0500 commented answer 2.4.2 Android - missing nonfree package

There is a tutorial about building nonfree module for OpenCV for Android. Version OpenCV 2.4.5. Hope this helps.

2013-05-23 13:22:57 -0500 answered a question error Descriptor SURF c++ OpenCV on Android

The reason you got that error is that for android OpenCV, nonfree module is not included. So, you need to build nonfree module by yourself.

There is an easy way to do that without rebuilding the whole OpenCV source code for android. you can refer to this tutorial:

Hope this will help.

2013-05-23 05:12:34 -0500 answered a question How to build and integrate nonfree modules for Android?

Please refer this tutorial for details: This tutorial shows a step-by-step process of compiling nonfree module.