在opencv下有个SVM的例子,我把那个例子改了改,试试能否对颜色进行分类,下面我给出代码!
<span style="font-size:18px;">#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/ml/ml.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
float labels[6]={1.0, 1.0, 1.0, 0, 0, 0};
Mat labelsMat(6,1,CV_32FC1,labels);//设置输出学习样本
float train_Data[6][3]={ {255,0, 0}, {255,0,0}, {255, 0,0}, {0,0,255 },{0,0,255},{0,0,255}};
Mat train_DataMat(6,3,CV_32FC1,train_Data);//设置输入样本
cout<<train_DataMat<<endl;
/*
设置参数
*/
CvSVMParams params;
params.svm_type=CvSVM::C_SVC;
params.kernel_type=CvSVM::LINEAR;
params.term_crit=cvTermCriteria(CV_TERMCRIT_ITER,20000,1e-6);
CvSVM SVM;
SVM.train(train_DataMat,la