[ASIFT 3] Computing ASIFT keypoints and matching

In this algorithm, using SIFT to obtain keypoints and match them.

set num_of_tilts  7, from 1, 1.414, 2......to......

if number of tilt equals 1, I think ASIFT is SIFT.

//// Compute ASIFT keypoints
     // number N of tilts to simulate t = 1, \sqrt{2}, (\sqrt{2})^2, ..., {\sqrt{2}}^(N-1)
     int num_of_tilts1 = 7;
     int num_of_tilts2 = 7;
     //  int num_of_tilts1 = 1;
     //  int num_of_tilts2 = 1;
     int verb = 0;
     // Define the SIFT parameters
     siftPar siftparameters; 
     default_sift_parameters(siftparameters);
 
     vector< vector< keypointslist > > keys1;        
     vector< vector< keypointslist > > keys2;    
     
     int num_keys1=0, num_keys2=0;
     
     
     cout << "Computing keypoints on the two images..." << endl;
     time_t tstart, tend;    
     tstart = time(0);
 
     num_keys1 = compute_asift_keypoints(ipixels1_zoom, wS1, hS1, num_of_tilts1, verb, keys1, siftparameters);
     num_keys2 = compute_asift_keypoints(ipixels2_zoom, wS2, hS2, num_of_tilts2, verb, keys2, siftparameters);
     
     tend = time(0);
     cout << "Keypoints computation accomplished in " << difftime(tend, tstart) << " seconds." << endl;
     
computing the keyspoint by siftparameter, storing in the vector 'key1' and 'key2'.


//// Match ASIFT keypoints
     int num_matchings;
     matchingslist matchings;    
     cout << "Matching the keypoints..." << endl;
     tstart = time(0);
     num_matchings = compute_asift_matches(num_of_tilts1, num_of_tilts2, wS1, hS1, wS2, 
                                           hS2, verb, keys1, keys2, matchings, siftparameters);
     tend = time(0);
     cout << "Keypoints matching accomplished in " << difftime(tend, tstart) << " seconds." << endl;

matching keypoints by using keys1 and keys2, storing in the matchingList 'matching'.



ok, now we finish the main steps of ASIFT. Thanks for theJean-Michel Morel and Guoshen Yu.



發佈了80 篇原創文章 · 獲贊 51 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章