*** AGAST corner detector *** Version: 1.1.3
-------------------------------
-- 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.
CAUTION: This code is not thread-safe! Take care to remove the static variables by passing them as
parameters to the functions if you want to run the detector by more than one thread at
the same time, e.g., if you want to process an image in parallel by multiple cores.
In this case also ensure to use the proper height of the image parts so that they are
overlapping and every row is processed, i.e. 1, 2, 3, 3 pixels for the 8, 12s, 12d, 16 pixel
mask. For a thread-safe C++ implementation please refer to
http://sourceforge.net/projects/agastpp/
-- 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:
- thread-safe version
- C++ version using the STL-vector container
- multi-core implementation
-- Changes / Bug-Fixes --
---from 1.1.2 ---
- cols and rows were interchanged
---from 1.0.4 ---
- CMake file and Visual Studio compatibility, special thanks to Juergen Wohlfeil (DLR Berlin)
- fixed the code to correspond to the C99-Standard, this should reduce the problems when
compiling it with Visual Studio
- user friendly functions ease the handling of the allocated memory - however, the use of
the STL-vector container is recommended to C++-users