Я попытался реализовать SIFT с openCV, и я ссылаюсь на эти ссылки link1 и link2. Кроме того, я также прочитал статью о SIFT, написанную Лоу. У меня есть некоторые проблемы с кодом в link1 и link2.Использование openCV для реализации SIFT на изображении
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].
Я хочу изменить метод, который я использую, чтобы соответствовать изображению, поэтому мне нужно извлечь дескриптор и доминирующую ориентацию каждой ключевой точки. Как извлечь каждый дескриптор каждой ключевой точки и доминирующую ориентацию?
Большое спасибо за ваш ответ.
Я искал другие статьи и осуществлять просеять по OpenCV.И я использую cv :: SIFT siftDetectorExtractor = cv :: SIFT (0, 3, 0.04, 10, 1.6); и siftDetectorExtractor (tmp, cv :: Mat(), keypoints1, sifts1) ;. Однако, когда я хочу знать координацию ключевой точки, я использую keypoints1 [0] .pt, и результат не является целым числом. Зачем? Изображение цифровое, поэтому координация ключевой точки должна быть целочисленной. – Kuo
Кроме того, я получил доступ к дескриптору первой ключевой точки по sifts1.at (0,0) до sifts1.at (0,127). Могу ли я повернуть порядок sifts1.at (0,0) на sifts1.at (0,127) и дескриптор других ключевых точек перед сопоставлением? Или его порядок начинается с доминирующей ориентации и автоматически заканчивается с доминирующей ориентацией? Поэтому я могу напрямую использовать результат для соответствия. –
Kuo
Кроме того, я все еще не могу найти значение параметра в cv :: SiftDescriptorExtractor extractor(); Вы ответите мне очень много в моем кабинете. Спасибо вам большое за ваш ответ. – Kuo