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 method /// </summary> /// <param name="thresh"></param> /// <param name="octaves"></param> /// <param name="init_sample"></param> /// <param name="img"></param> /// <returns></returns> public static List<IPoint2> getIpoints(float thresh, int octaves, int init_sample, IntegralImage img) { FastHessian fh = new FastHessian(thresh, octaves, init_sample, img); return fh.getIpoints(); }