List <IPoint2> GetFtPntList(Bitmap bitImg, float thread) { List <IPoint2> ipts1 = new List <IPoint2>();//图片1的特征点 //-------------------------------------------------- // Create Integral Image IntegralImage iimg = IntegralImage.FromImage(bitImg); // Extract the interest points ipts1 = FastHessian.getIpoints(thread, //此值越小,特征点越多 5, 2, iimg); // Describe the interest points SurfDescriptor.DecribeInterestPoints(ipts1, false, //是否表示方向 false, //false为64,true为128 iimg); iimg.Dispose(); iimg = null; return(ipts1); }
/// <summary> /// Static one-call do it all function /// </summary> /// <param name="img"></param> /// <param name="ipts"></param> /// <param name="extended"></param> /// <param name="upright"></param> public static void DecribeInterestPoints(List <IPoint2> ipts, bool upright, bool extended, IntegralImage img) { SurfDescriptor des = new SurfDescriptor(); des.DescribeInterestPoints(ipts, upright, extended, img); }