SIFT — важный и полезный алгоритм компьютерного зрения, но похоже, что он не является частью Matlab или какого-либо из его наборов инструментов.
Почему ? Предлагает ли Matlab что-то лучшее или эквивалентное?
SIFT — важный и полезный алгоритм компьютерного зрения, но похоже, что он не является частью Matlab или какого-либо из его наборов инструментов.
Почему ? Предлагает ли Matlab что-то лучшее или эквивалентное?
MATLAB имеет SURF, доступный как часть Computer Vision Toolbox, но не SIFT: http://www.mathworks.com/help/vision/ref/surfpoints-class.html. Тем не менее, оба алгоритма почти одинаковы с некоторыми незначительными (но важными) отличиями, такими как использование интегральных изображений и быстрого детектора Гессе. Я не буду вдаваться в подробности этих различий, но вы, безусловно, можете прочитать о работе здесь: http://www.vision.ee.ethz.ch/~surf/eccv06.pdf. Что касается причины, по которой MathWorks решила использовать SURF вместо SIFT... на самом деле это может быть любая причина. Насколько я знаю, нет официальной причины, по которой один был выбран вместо другого, поскольку они оба подлежат патентованию.
Однако, если вы хотите использовать SIFT в MATLAB, у меня есть одно предложение: использовать набор инструментов VLFeat, где C и реализация MATLAB структуры ключевых точек, обнаружения и сопоставления стала доступной и имеет открытый исходный код. В нем также реализовано множество других хороших алгоритмов компьютерного зрения, но VLFeat — одна из известных мне библиотек, которая может вычислять SIFT так же точно, как и оригинальный запатентованный алгоритм.
Если вы полностью настроены на использование SIFT, проверьте VLFeat! В частности, ознакомьтесь с официальным руководством VLFeat по SIFT с использованием оболочек MATLAB: http://www.vlfeat.org/overview/sift.html