4

I am working on a project where I have to detect the features of an object (in a Video Frame) and match it with other objects (inside some other frame) to recognize the same object for tracking. I have googled many Feature detector algorithms. I also did some comparisons between them (SIFT,SURF & ASIFT).

ASIFT is computationally a bit expensive but the results are more accurate when compared to SIFT & SURF. I have googled a lot about ASIFT but did not get any success regarding my project.

Can someone please help me with using ASIFT in my project?

ASIFT reference: http://www.ipol.im/pub/algo/my_affine_sift/

Which files should I include in my project? I'm working on OPENCV 2.1 , IDE VS 2010. Its my first post on this platform. Hope some one will help me.

sansuiso
  • 9,259
  • 1
  • 40
  • 58
Faizan Ayyub
  • 41
  • 1
  • 3

1 Answers1

2

The important functions are in the files compute_asift_keypoints.{c,h} and compute_asift_matches.{c,h}. They will inform you about which functions are mandatory. From there you have the choice:

  1. Quick-and-dirty way: you need to include and compile everything, except the executable part (file demo_*.cpp). You can either compile the files as a library (by modifying the CMakeLists.txt) or add them to your project in your IDE. Note that you will not use the functions from io_png for example, but you need to compile them if you don't want to be annoyed by compiler errors about missing functions.

  2. Clean (but longer) way: you have to ignore / remove all the files that also contain the I/O part, since OpenCV can take care of them. Then you can also look for functions that are already implemented in OpenCV, such as applying an affine transform, SVD... and progressively replace them by their OpenCV counterpart.

sansuiso
  • 9,259
  • 1
  • 40
  • 58