De quel genre d'images avez-vous besoin? Si vous ne vous en souciez pas, vous pouvez simplement télécharger un ensemble de données de vision par ordinateur public comme http://lear.inrialpes.fr/~jegou/data.php#holidays qui propose à la fois des images et des tamis déjà calculés de ses régions. Ou essayez d'autres ensembles de données, par exemple, à partir de http://www.cvpapers.com/datasets.html
Une autre possibilité est simplement de télécharger faire beaucoup de photos, de détecter le point d'intérêt et de les décrire avec des tamis. Cela peut être fait avec Opencv, Vlfeat ou d'autres bibliothèques.
Exemple 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;
}