正如您所知,許多事情在OpenCV 3中發生了變化(與openCV2或舊的第一個版本比較)。Opencv 3支持向量機培訓
在過去,訓練SVM,應當使用:
CvSVMParams params;
params.svm_type = CvSVM::C_SVC;
params.kernel_type = CvSVM::POLY;
params.gamma = 3;
CvSVM svm;
svm.train(training_mat, labels, Mat(), Mat(), params);
在第三個版本的API,沒有CvSVMParams
也不CvSVM
。令人驚訝的是,有a documentation page about SVM,但它告訴了所有事情,但不知道如何真正使用它(至少我無法做到)。 此外,互聯網上沒有人使用OpenCV 3.0的SVM。
目前,我只設法得到如下:
ml::SVM.Params params;
params.svmType = ml::SVM::C_SVC;
params.kernelType = ml::SVM::POLY;
params.gamma = 3;
能否請您爲我提供的信息,如何改寫實際培訓OpenCV的3?
工程就像一個魅力,感謝您的快速反應! 你能告訴我,res cv :: Mat代表的結果如何? 它是否包含相同的值,在標籤cv :: Mat? – 2014-11-24 21:46:21
res.at(0)將包含該id。 'something'在這裏是float或int,取決於標籤的類型 –
berak
2014-11-24 21:49:11
這個信息:「Mat query; // input,1channel,1 row(apply nesssecary重整(1,1))」改變了我的實現成功。謝謝@berak – Koray 2017-01-30 06:34:34