【发布时间】:2015-03-18 02:22:56
【问题描述】:
您可能知道,OpenCV 3 发生了很多变化。在以前的 OpenCV 版本中,我曾经这样做过:
Mat trainData(classes * samples, ImageSize, CV_32FC1);
Mat trainClasses(classes * samples, 1, CV_32FC1);
KNNLearning(&trainData, &trainClasses); //learning function
KNearest knearest(trainData, trainClasses); //creating
//loading input image
Mat input = imread("input.jpg");
//digital recognition
learningTest(input, knearest);//test
我也找到了一个例子,但是我在创建函数中仍然有错误:
Ptr<KNearest> knearestKdt = KNearest::create(ml::KNearest::Params(10, true, INT_MAX, ml::KNearest::KDTREE));
knearestKdt->train(trainData, ml::ROW_SAMPLE, trainLabels);
knearestKdt->findNearest(testData, 4, bestLabels);
能否请您提供信息,如何正确地将 KNearest 的实际代码重写为 openCV 3?
【问题讨论】: