为什么 SIFT 在 Matlab 中不可用?
Why is SIFT not available in Matlab?
SIFT 是计算机视觉中一个重要且有用的算法,但它似乎不是 Matlab 或其任何工具箱的一部分。
为什么? Matlab 是否提供更好或等效的东西?
MATLAB 有 SURF 作为计算机视觉工具箱的一部分,但没有 SIFT:http://www.mathworks.com/help/vision/ref/surfpoints-class.html. However, both algorithms are pretty much the same with some minor (but crucial) differences, such as using integral images and a fast Hessian detector. I won't go into those differences in any further detail, but you can certainly read up on the work here: 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
SIFT 是计算机视觉中一个重要且有用的算法,但它似乎不是 Matlab 或其任何工具箱的一部分。
为什么? Matlab 是否提供更好或等效的东西?
MATLAB 有 SURF 作为计算机视觉工具箱的一部分,但没有 SIFT:http://www.mathworks.com/help/vision/ref/surfpoints-class.html. However, both algorithms are pretty much the same with some minor (but crucial) differences, such as using integral images and a fast Hessian detector. I won't go into those differences in any further detail, but you can certainly read up on the work here: 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