【问题标题】:How to crete a SIFT's descriptors database如何创建 SIFT 描述符数据库
【发布时间】:2013-11-19 21:42:07
【问题描述】:

如何创建 SIFT 描述符(图像)数据库? 我的目的是在支持向量机上实现一个有监督的训练集。

【问题讨论】:

    标签: database opencv svm sift feature-descriptor


    【解决方案1】:

    您需要哪种图像?如果您不关心,您可以下载一些公共计算机视觉数据集,例如 http://lear.inrialpes.fr/~jegou/data.php#holidays,它提供图像和已计算的区域的 SIFT。 或者尝试其他数据集,例如来自http://www.cvpapers.com/datasets.html

    其他可能性只是下载\制作大量照片,检测兴趣点并用 SIFT 描述它们。可以使用OpenCV、VLFeat 或其他库来完成。

    OpenCV 示例。

        #include <opencv2/opencv.hpp>
        #include <opencv2/nonfree/nonfree.hpp>
        #include <fstream>
    
    
        void WriteSIFTs(std::vector<cv::KeyPoint> &keys, cv::Mat desc, std::ostream &out1)
        {
          for(int i=0; i < (int) keys.size(); i++)
            {
              out1 << keys[i].pt.x << " " << keys[i].pt.y << " " << keys[i].size << " " << keys[i].angle << " "; 
    //If you don`t need information about keypoints (position, size) 
    //you can comment out the string above
    
              float* descPtr = desc.ptr<float>(i);
              for (int j = 0; j < desc.cols; j++)
                  out1  << *descPtr++ << " ";
              out1 << std::endl;
            }
    
        }
    
    
        int main(int argc, const char* argv[])
        {
          const cv::Mat img1 = cv::imread("graf.png", 0); //Load as grayscale
    
          cv::SiftFeatureDetector detector;
          std::vector<cv::KeyPoint> keypoints;
          detector.detect(img1, keypoints);
    
          cv::SiftDescriptorExtractor extractor;
          cv::Mat descriptors;
          extractor.compute(img1, keypoints, descriptors);
    
          std::ofstream file1("SIFTs1.txt");
          if (file1.is_open())
            WriteSIFTs(keypoints,descriptors,file1);
          file1.close();
          return 0;
        }
    

    【讨论】:

    • 是的,我想创建自己的数据集。所以我拍了很多照片,想提取他们的 SIFT 描述符,然后挂载这些向量的数据集。我正在使用openCV,但我完全是新手,所以我需要做什么? (谢谢)
    猜你喜欢
    • 2013-12-21
    • 2012-10-07
    • 1970-01-01
    • 2017-04-23
    • 2014-05-15
    • 2016-12-24
    • 2015-05-11
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多