MATLAB中的计算机视觉工具箱中有SURF,但没有SIFT:http://www.mathworks.com/help/vision/ref/surfpoints-class.html。然而,这两种算法基本相同,只有一些微小但至关重要的差异,例如使用积分图像和快速Hessian检测器。我不会进一步详细介绍这些差异,但您可以在此处阅读相关内容:http://www.vision.ee.ethz.ch/~surf/eccv06.pdf。至于MathWorks为什么决定使用SURF而不是SIFT……可能是任何原因。据我所知,官方没有选择其中一个而不是另一个的正式原因,因为它们都可能被专利保护。然而,如果您想在MATLAB中使用SIFT,我建议使用VLFeat工具箱,其中提供了基于C和MATLAB实现的关键点、检测和匹配框架,并且是开源的。它还实现了许多其他不错的计算机视觉算法,但VLFeat是我所知道的能够像原始专利算法一样准确计算SIFT的库之一。如果您坚决要使用SIFT,请查看VLFeat!特别是,请查看官方VLFeat SIFT教程,使用MATLAB包装程序:http://www.vlfeat.org/overview/sift.html