SIFT 是计算机视觉中一种重要且有用的算法,但它似乎不是 Matlab 或其任何工具箱的一部分。
为什么? Matlab 是否提供更好或等效的东西?
最佳答案
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 的原因......这可能是任何原因。 AFAIK,没有官方理由选择其中一个而不是另一个,因为它们都需要申请专利。
但是,如果您想在 MATLAB 中使用 SIFT,我的一个建议是使用 VLFeat工具箱,其中关键点、检测和匹配框架的 C 和 MATLAB 实现已经可用并且是开源的。它还实现了各种其他不错的计算机视觉算法,但 VLFeat 是我所知道的能够像原始专利算法一样准确地计算 SIFT 的库之一。
如果您坚决不使用 SIFT,请查看 VLFeat!具体来说,使用 MATLAB 包装器查看有关 SIFT 的官方 VLFeat 教程:http://www.vlfeat.org/overview/sift.html
关于matlab - 为什么 SIFT 在 Matlab 中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28847951/