使用SVM和BOW进行图像分类OpenCV

时间:2016-03-08 11:39:29

标签: c++ opencv svm

我尝试使用BoW实现图像分类程序来创建可视化库并使用SVM进行分类。现在我已经完成了Bow部分,而且我有点坚持使用SVM培训部分。

这是我到目前为止所编码的内容。

1)从训练图像中提取(检测和描述)特征。 (我有4类图像) 2)构建训练图像的所有特征的非聚集矩阵 3)使用k均值聚类将数据聚类成袋子(BoW) 5)将可视化库保存为YML格式,以供SVM预测器访问 4)构建与SIFT和FLANN合并的BoW描述符,以从测试图像中提取特征 5)构建SVM分类器

在进行实际预测之前,我的问题不是如何训练SVM分类器。

根据OpenCV 3.1(非2.4)类SVM的参考, enter image description here

我们可以使用trainAuto()成员函数训练分类器。为了创建训练数据,我们必须使用以下成员函数之一。 enter image description here enter image description here

现在说,我更喜欢使用Train :: create功能来创建训练数据。 TrainData :: create()成员函数的参数是什么。如何为我的案例构建这些参数,其中训练图像全部在由文件夹分隔的同一目录中。参数layout,response,varldx,sampleldx,sampleWeights和varType是什么意思?对不起,如果我问一个基本问题。我是openCv的新手,我在互联网上找不到OpenCV 3.1的足够帮助。我发现的所有材料都与OpenCV 2.4有关。与前一版本相比,OpenCV 3.1进行了大修。此外,3.1的文档处于测试阶段,也没有多大帮助。谢谢。任何帮助表示赞赏。

0 个答案:

没有答案