// test_max.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <ml.h>
#include <cxcore.h>
#include <iostream>
using namespace std;
int main()
{
// step 1:
//训练数据的分类标记,即4类
float labels[16] = {1.0, 1.0,1.0,1.0,2.0,2.0,2.0,2.0,3.0,3.0,3.0,3.0,4.0,4.0,4.0,4.0};
CvMat labelsMat = cvMat(16, 1, CV_32FC1, labels);
//训练数据矩阵
float trainingData[16][2] = { {0, 0}, {4, 1}, {4, 5}, {-1, 6},{3,11},{-2,10},{4,30},{0,25},{10,13},{15,12},{25,40},{11,35},{8,1},{9,6},{15,5},{20,-1} };
CvMat trainingDataMat = cvMat(16, 2, CV_32FC1, trainingData);
// step 2:
//训练参数设定
CvSVMParams params;
params.svm_type = CvSVM::C_SVC; //SVM类型
params.kernel_type = CvSVM::LINEAR; //核函数的类型
//SVM训练过程的终止条件, max_iter:最大迭代次数 epsilon:结果的精确性
params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, FLT_EPSILON );
// step 3:
//启动训练过程
CvSVM SVM;
SVM.train( &trainingDataMat, &la
OpenCV SVM多类分类问题编程示例
最新推荐文章于 2021-09-30 19:32:38 发布