Как создать базу данных дескрипторов SIFT (изображений)? Я намерен реализовать обучающий набор под наблюдением на машине опорных векторов.
Как создать базу данных дескрипторов SIFT
Ответы (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;
}
person
old-ufo
schedule
08.11.2013
Да, я хочу создать свой собственный набор данных. Итак, я сделал много фотографий и хочу извлечь их дескрипторы SIFT, а затем смонтировать набор данных этих векторов. Я использую openCV, но я в этом совсем новичок, так что мне нужно делать? (Спасибо)
- person user2967127; 08.11.2013