Я хочу знать, могу ли я изменить измерение дескрипторов SIFT, если да, то как я могу это сделать. Я знаю, что в настоящее время размерность 128, мы можем сделать 128 * 4 или 124/4 что-то вроде этого?
Обновление: я попытался изменить SIFT_DESCR_WIDTH на 2 с 4 в opencv / modules / nonfree / src / sift.cpp, но это не меняет размер дескрипторов, когда я печатаю descriptors.size (), он печатает 128.
С Уважением,
Вы не можете изменить размеры SIFT в OpenCV без изменения источника OpenCV. Таким образом, вы должны изменить исходные коды и перекомпилировать весь OpenCV или несвободный модуль.
Измените это постоянное значение, затем сделайте cmake & сделать для OpenCV.
Постскриптум На самом деле, это ничего не изменит для вас — проверьте оригинальная бумага SIFT, рисунок 8
Вы можете попробовать дескрипторы SURF, он поддерживает 64 измерения и вычислять быстрее, чем SIFT.