//记录一下
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; }