Skip to content

cnjack/agast

Repository files navigation

***  AGAST C++ corner detector  ***           Version: 1.1.0
------------------------------- 

-- How to compile and use the demo program --

Adapt the OPENCV paths in the 'Makefile' and compile the sources by typing 'make'
in the program folder. Otherwise you can also run cmake using CMakeList.txt or CMakeList.txt.findPackage. We experienced 
some problems with OpenCV using the latter, so we added a more direct CMakeList-file (NOTE: The 
variable OpenCV_DIR isn't defined. If you want to use this file you have to define OpenCV_DIR by 
adding -D OpenCV_DIR=\"C:/Dir/To/OpenCV\" as cmake argument). Run the program by typing
    demo <image_in>
where <image_in> specifies your input image.

As result you get four images with the names oast9_16.ppm, agast7_12d.ppm, 
agast7_12s.ppm and agast5_8.ppm. These images represent the result of 
- the optimal accelerated segment test on a pixel mask of 16 pixels (with a 9 pixel arc length),
- the adaptive and generic AST with a 12 pixel diamond and square shaped mask and 
- the adaptive and generic AST with a 8 pixel mask.

With the parameters AST_THR_16, AST_THR_12 and AST_THR_8 in the 'demo.cc' file you 
can define the thresholds to adjust the corner response of the AST.

Notice: - This code is thread-safe! For an example of how to use the code for parallel image processing
          please refer to the AGAST5_8 switch-label in the demo.cc file.
        - If you are interested in a C-version of the code please refer to 
          http://sourceforge.net/projects/agast/
        - This code is now distributed under the BSD v3 license

CAUTION: There might be an erroneous non-maximum suppression at the region borders using different 
         threads. To avoid this effect you have to run the non-maximum suppression for all the corner
         responses in one single call by combining the "corners_all"-vectors first. 


-- Referencing this work --

If you are publishing a project using this software, please refrence following
publication:

@inproceedings{mair2010_agast,
    title       =    "Adaptive and Generic Corner Detection Based on the Accelerated Segment Test",
    author      =    "Elmar Mair and Gregory D. Hager and Darius Burschka and Michael Suppa and Gerhard Hirzinger",
    year        =    "2010",
    month       =    "September",
    booktitle   =    "European Conference on Computer Vision (ECCV'10)",
    notes       =    "Poster presentation",
    url         =    "http://www6.in.tum.de/Main/ResearchAgast"
}


-- Todo / Nice to have extensions --
Every user of this code is welcome to contribute any extensions to this package.  
Interesting extensions are mentioned in the following:
 - multi-core implementation