opencv3 ошибка определения самого младшего объекта

Я пытаюсь реализовать программу распознавания digi с c ++ и opencv3, когда я определяю переменную с помощью KNearest, я получаю эту ошибку:

main.cpp:19:18: error: variable or field 'RunSelfTest' declared void
void RunSelfTest(KNearest& knn2);
^
main.cpp:19:18: error: 'KNearest' was not declared in this scope
main.cpp:19:18: note: suggested alternative:
In file included from c:/OpenCV/build/include/opencv2/ml/ml.hpp:48:0,
from main.cpp:1:
c:/OpenCV/build/include/opencv2/ml.hpp:397:20: note:   'cv::ml::KNearest'
class CV_EXPORTS_W KNearest : public StatModel

это мой код:

#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/ml/ml.hpp"#include <iostream>
#include <stdio.h>

using namespace cv;
using namespace std;

void RunSelfTest(KNearest& knn2);
void AnalyseImage(KNearest knearest);

я совершенно не могу найти где проблема

0

Решение

Вы хотите использовать cv::ml::KNearest но вы пытаетесь сослаться на это как KNearest в то время как using namespace cv,

Но KNearest также внутри ml пространство имен внутри cv::, Попробуй это:

ml::KNearest

(Или удалить using namespace …; из вашего кода, так как это плохая практика во всяком случае, и просто сослаться на это как cv::ml::KNearest.)

0

Другие решения


По вопросам рекламы [email protected]