我试图使用BoW实现图像分类程序来创建可视化库并使用SVM进行分类 . 现在我已经完成了弓部分,我有点坚持使用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的文档处于测试阶段,也没有多大帮助 . 谢谢 . 任何帮助表示赞赏 .