Feature points (read corners) in images are points that invariant under view changes, zoom, lightening conditions etc.
These code has been written as part of the project I have performed in image processing course some time ago.
The code should (hopefully) be easily readable since it has been well commented, with report for background information and additional explanation.
Hope it will be useful for students entering the image processing field.
Implemented a SIFT like descriptor, as well as ASIFT (http://www.cmap.polytechnique.fr/~yu/research/ASIFT/demo.html).
Shortly about ASIFT - simulates view changes of images, for each such view finds FPs followed by descriptor calculation for future matching. It is slow and intended for studying purposes. Quick C++ implementation is available at the authors aforementioned ASIFT-project page.
There are a lot of options, parameters to control every step of calculations. Try to play with it: the performance may vary drastically.
Used pdist2.m code from Piotr's Toolbox
as well k nearest neighbors from Matlab exchange server, author of which I can't find now.