我正在尝试使用OpenCV
为我的最后一年项目制作一个对象识别软件。在对这个领域进行了大量研究之后,我发现行动计划应该是这样的:
我从一张图片开始。我能够使用SurfFeatureDetector
类OpenCV(样本中给出的simple_matcher.cpp
程序)从图像中提取特征。我使用以下代码将检测到的KeyPoints
保存在XML文件中:
SurfFeatureDetector detector(400);
vector<KeyPoint> keypoints1, keypoints2;
detector.detect(img1, keypoints1);
detector.detect(img2, keypoints2);
FileStorage fs("test.xml", FileStorage::WRITE);
write(fs, "data", keypoints1);
现在我陷入了困境。我无法理解如何从这些功能创建训练数据集?我的下一步应该是什么?或者,我的行动计划是否正确?
提前致谢。
答案 0 :(得分:4)
您可能需要执行以下步骤。
答案 1 :(得分:3)
首先,使用热门数据集会更容易,例如here。它允许您不花时间在图像上,并且可以将您的结果与最新技术进行比较。
其次,这不是一件容易的事。我建议你阅读papers related to the PASCAL VOC。
如果你想第一次尝试,请阅读关于词袋模型,例如它很简短,很好地解释了blog of the SO user @gillevi中要做什么。