@ruboss

Как получить lsh с ORB дескрипторов?

Всем привет! Буду очень благодарен за комментарии и ответы
Opencv начал учить недавно. Сори, если нубский вопрос:
Как я могу получить список хешей из matchera в которого я закинул дескрипторы ORB?
Привожу код, интересуют строки:
//matcher_->getListOfLsh();
//Могу я как-то получить список хешей "qgdlfospahs....

int main(int argc, char** argv)

{
    cv::Mat img1 = cv::imread("categories2.jpg", CV_LOAD_IMAGE_GRAYSCALE);//CV_LOAD_IMAGE_GRAYSCALE
   
    cv::Ptr<cv::FeatureDetector> detector = ORB::create();
    cv::Ptr<cv::DescriptorExtractor> descriptor = ORB::create();

    std::vector<cv::KeyPoint> keypoints1;
    detector->detect(img1, keypoints1);
    std::cout<<"find "<<keypoints1.size()<<" keypoints in img1"<<std::endl;
 
    cv::Mat descriptors1;
    descriptor->compute(img1, keypoints1, descriptors1);
    
    cv::Ptr<cv::DescriptorMatcher> matcher_;
    matcher_ = new cv::FlannBasedMatcher(new cv::flann::LshIndexParams(5, 24, 2));
    
    matcher_->add(descriptors1);  // по идее тут уже должны появиться индексы в виде хешей
	
	//matcher_->getListOfLsh();   что-то на подобие
	//Могу я как-то получить список хешей "qgdlfospahsy24sa6nhss65s7hns7" для ORB дескрипторов?

   
    cv::waitKey(0);

    return 0;
}
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ответы на вопрос 1
noonv
@noonv
пример использования - Feature Matching with FLANN

Выполнение сравнения двух наборов точек:
matcher.match( descriptors_1, descriptors_2, matches );


А "хэши" придётся DescriptorExtractor-а получать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы