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