小编Pio*_*ski的帖子

OpenCV 3 KNN实现

您可能知道,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
Run Code Online (Sandbox Code Playgroud)

我还找到了一个如何弄清楚它的例子,但我在创建函数中仍然有错误:

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);
Run Code Online (Sandbox Code Playgroud)

能否请您提供相关信息,如何正确地重写KNearest到openCV 3的实际代码?

c++ opencv knn opencv3.0

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

knn ×1

opencv ×1

opencv3.0 ×1