Я пытался реализовать SIFT с помощью openCV и ссылаюсь на эти ссылки ссылка1 и ссылка2. Кроме того, я также прочитал статью о SIFT, написанную Лоу. У меня есть некоторые проблемы с кодом в link1 и link2.
cv:: Детектор SiftFeatureDetector (0,05, 5,0); cv::SiftDescriptorExtractor экстрактор( 3.0 );
Я не могу полностью понять параметр в приведенной выше функции. Если я изменю первую функцию на детектор cv::SiftFeatureDetector( 0.05, 10.0 ); , есть время выполнения OpenCV Error: Assertion failed ‹ firstOctave>=-1 %%actualNLayers‹=nOctaveLayers>.
Кроме того, я не понимаю параметр в механизме извлечения SiftDescriptorExtractor(). Я знаю, что в сопоставлении ключевых точек есть соотношение расстояний, но диапазон составляет [0,1].
Я хочу изменить метод, который я использую для сопоставления с изображением, поэтому мне нужно извлечь дескриптор и доминирующую ориентацию каждой ключевой точки. Как извлечь дескриптор каждой ключевой точки и доминирующую ориентацию?
Спасибо вам большое за ваш ответ.