OpenCV/Emgu中的SFIT算法

        //记录一下
        public Image<Gray, byte> SIFT(Image<Gray, byte> img1, Image<Gray, byte> img2)
        {
            SIFTDetector sift = new SIFTDetector();
            var f1 = sift.DetectFeatures(img1, null);
            var f2 = sift.DetectFeatures(img2, null);

            Features2DTracker tracker = new Features2DTracker(f1);
            var mf = tracker.MatchFeature(f2, 1);
            var m = Features2DTracker.GetHomographyMatrixFromMatchedFeatures(mf);
            if (m != null)
            {
                return img2.WarpPerspective<double>(m, img1.Width, img1.Height, INTER.CV_INTER_LINEAR, WARP.CV_WARP_INVERSE_MAP, new Gray());
            }
            return null;
        }
原文地址:https://www.cnblogs.com/wmesci/p/2736002.html