0

I am new to both openCV and Android. I have to detect objects in my project. So, I have decided to use ASIFT for the same. However, the code they have given here is very lengthy. It contains lots of C file. It also doesn't have openCV support.

Some search on the SO itself suggested that it is easier to connect the ASIFT code to the openCV library, but I can't figure out how to do that. Can anyone help me by giving some link or by telling the steps that I should use to add ASIFT to my openCv library, which I can further utilize in making my Android application?

Also, I would like to know whether using Android NDK along with JNI to make calls to the C files or using Android SDK along with binary package for my android project(Object Detection) would be a suitable option for me?

Community
  • 1
  • 1
  • Why -1 ? Whats wrong in my question ? – Arpita Singh Oct 18 '12 at 05:08
  • Please read the faq before posting questions here. Mainly, you should not ask **give me the steps/give me the codes** questions, but **I have tried this, but I have this specific programming problem**. Like: I am working to connect ASIFT to OpenCV, I have tried to compile them together, but I have this ___ error. – Sam Oct 18 '12 at 06:43
  • And answering your question, ASIFT as published by its creators is implemeted in Python. Because OpenCV has Python bindings, you can use them together on a desktop computer, in a Python script, but to use them on a mobile phone, you have to rewrite the code in C++. – Sam Oct 18 '12 at 06:45
  • @vasile For your information, check the link given in the question or google out. Codes in python, c, c++, qt etc are already available. I was just asking how should I start ? – Arpita Singh Oct 18 '12 at 06:58
  • @Arpita...can you tell us more about your object detection requirement? if its just about feature detection then you can try SURF,SIFT,ORB,FAST and other feature detectors already there in OpenCV untill you specificaly require an Affine invariant one...here are some http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html – rotating_image Oct 18 '12 at 21:47
  • @codedmaverik My project is to develop an application which will help blind people in shopping assistance – Arpita Singh Oct 19 '12 at 02:31

2 Answers2

1

Finally , I solved my problem by using the source code given at the website of ASIFT developers. I compacted all the source files together to make my own library using make. I then called the required function from the library using JNI.

It worked for me, but the execution is taking approximate 2 mins on an Android device. Anyone having some idea about ways to reduce the running time ?

0

They used very simple and slow brute force matching (just for proving of concept). You can use FLANN library and it will help a lot. http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html

old-ufo
  • 2,799
  • 2
  • 28
  • 40