我之前把
extern vector<Mat> gauss_pyr; //声明全局变量gauss_pyr
extern vector<Mat> dog_pyr; //声明全局变量dog_pyr
extern struct Keypoint; //声明全局变量Keypoint
extern vector<Keypoint> features; //声明全局变量features
extern vector<Keypoint> extrema; //声明全局变量extrema
都声明成了全局变量,然而全局变量是不能给局部变量赋值的,所以出错。把他们作为局部变量在用到的函数中直接声明定义就好。