我开始使用opencv来检测功能:
如下序列:
cv::SurfFeatureDetector detector( 40 );
std::vector<cv::KeyPoint> keypoints_object;
detector.detect( img_object, keypoints_object );
//-- Step 2: Calculate descriptors (feature vectors)
cv::SurfDescriptorExtractor extractor;
cv::Mat descriptors_object, descriptors_scene;
extractor.compute( img_object, keypoints_object, descriptors_object );
//-- Step 3: Matching descriptor vectors using FLANN matcher
将提取图像的特征,该特征可以与从其他图像提取的特征相匹配。在这种情况下,术语“训练图像”意味着什么。
我是否需要多次旋转和/或缩放图像?
如果是这样的话。功能可以合并到一个描述符吗?
答案 0 :(得分:2)
在特征提取的上下文中训练图像让我想到分类。在那里,您有一组来自不同类的训练图像,您可以从中提取特征。然后,您尝试使用此功能学习某种分类器。所以你用这些图像来训练分类器。
SURF特征是比例和旋转不变。因此无需缩放或旋转图像。
要为每张图片获取一个特征向量,您可以使用bag of words model。