1 bool ImageOverlap(cv::Mat &img1,cv::Mat &img2,std::vector<:point> &vPtsImg1,std::vector<:point> &vPtsImg2)2 {3 cv::Mat g1(img1,Rect(0,0,img1.cols,img1.rows));4 cv::Mat g2(img2,Rect(0,0,img2.cols,img2.rows));5
6 cv::cvtColor(g1,g1,CV_BGR2GRAY);7 cv::cvtColor(g2,g2,CV_BGR2GRAY);8
9 std::vector<:keypoint> keypoints_roi, keypoints_img; /*keypoints found using SIFT*/
10 cv::Mat descriptor_roi, descriptor_img; /*Descriptors for SIFT*/
11 cv::FlannBasedMatcher matcher; /*FLANN based matcher to match keypoints*/
12 std::vector<:dmatch>matches, good_matches;13 cv::SIFT sift;14 int i, dist=80;15
16 sift(g1, Mat(), keypoints_roi, descriptor_roi); /*get keypoints of ROI image*/
17 sift(g2, Mat(), keypoints_img, descriptor_img); /*get keypoints of the image*/
18 matcher.match(descriptor_roi, descriptor_img, matches);19
20 double max_dist &