// Copyright (c) 2008-2011, Guoshen Yu // Copyright (c) 2008-2011, Jean-Michel Morel // // WARNING: // This file implements an algorithm possibly linked to the patent // // Jean-Michel Morel and Guoshen Yu, Method and device for the invariant // affine recognition recognition of shapes (WO/2009/150361), patent pending. // // This file is made available for the exclusive aim of serving as // scientific tool to verify of the soundness and // completeness of the algorithm description. Compilation, // execution and redistribution of this file may violate exclusive // patents rights in certain countries. // The situation being different for every country and changing // over time, it is your responsibility to determine which patent // rights restrictions apply to you before you compile, use, // modify, or redistribute this file. A patent lawyer is qualified // to make this determination. // If and only if they don't conflict with any patent terms, you // can benefit from the following license terms attached to this // file. // // This program is provided for scientific and educational only: // you can use and/or modify it for these purposes, but you are // not allowed to redistribute this work or derivative works in // source or executable form. A license must be obtained from the // patent right holders for any other use. // // //*------------------------ compute_asift_keypoints -------------------------*/ // Compute the ASIFT keypoints on the input image. // // Please report bugs and/or send comments to Guoshen Yu yu@cmap.polytechnique.fr // // Reference: J.M. Morel and G.Yu, ASIFT: A New Framework for Fully Affine Invariant Image // Comparison, SIAM Journal on Imaging Sciences, vol. 2, issue 2, pp. 438-469, 2009. // Reference: ASIFT online demo (You can try ASIFT with your own images online.) // http://www.ipol.im/pub/algo/my_affine_sift/ /*---------------------------------------------------------------------------*/ #include "library.h" #include "demo_lib_sift.h" #include "frot.h" #include "fproj.h" #include using namespace std; int compute_asift_keypoints(vector& image, int width, int height, int num_of_tilts, int verb, vector< vector< keypointslist > >& keys_all, siftPar &siftparameters); void GaussianBlur1D(vector& image, int width, int height, float sigma, int flag_dir);