Мне нужно рассчитать характеристики SURF одной конкретной точки изображения с помощью OpenCV. Я использую SurfDescriptorExtractor для извлечения функций серфинга, но он принимает массив keypoint в качестве аргумента, который, в свою очередь, вычисляется с помощью SurfFeatureDetector. Есть ли способ использовать SurfDescriptorExtractor для вычисления функции SURF одной точки?
Как рассчитать точки SURF для ВСЕХ точек изображения с помощью OpenCV?
Ответы (1)
Используйте функцию push_back()
, чтобы заполнить std::vector
из cv::Keypoint
. В вашем случае этот массив содержит только один элемент. Вы можете запустить функцию compute
из класса SurfDescriptorExtractor
в этом массиве с помощью:
void compute( const cv::Mat& image, std::vector<cv::KeyPoint>& keypoints, cv::Mat& descriptors ) const;
Обратите внимание, что: Строка i является дескриптором ключевой точки i.
person
Eric
schedule
27.02.2012