Wie Sie vielleicht wissen, hat sich in OpenCV 3 vieles geändert (im Vergleich zur openCV2 oder der alten ersten Version).Opencv 3 SVM Training
In den alten Tagen, zu trainieren, ein SVM verwenden würde:
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);
In der dritten Version der API gibt es keine CvSVMParams
noch CvSVM
. Überraschenderweise gibt es a documentation page about SVM, aber es sagt alles, aber nicht, wie man es wirklich benutzt (zumindest kann ich es nicht erkennen). Außerdem sieht es so aus, als ob niemand im Internet SVM von OpenCV 3.0 verwendet.
Derzeit ich es geschafft, nur folgendes zu erhalten:
ml::SVM.Params params;
params.svmType = ml::SVM::C_SVC;
params.kernelType = ml::SVM::POLY;
params.gamma = 3;
Können Sie bitte geben Sie mir Informationen, wie 3 die tatsächliche Ausbildung OpenCV neu zu schreiben?
Funktioniert wie ein Charme, danke für die sehr schnelle Antwort! Können Sie mir bitte sagen, wie ist das Ergebnis in res cv :: Mat dargestellt? Enthält es nur die gleichen Werte, die in Labels cv :: Mat enthalten sind? –
res.at (0) enthält die ID. 'etwas' wird hier float oder int, abhängig vom Typ der Labels –
berak
Diese Information: "Mat query; // input, 1channel, 1 row (apply reshape (1,1) falls erforderlich)" hat den Erfolg meiner Implementierung stark verändert . Danke @berak – Koray