私はopencvでCVKnearestクラスを使用して、10の機能を備えた6つのクラスを次のように分類しています。
CvKNearest knn(trainData, trainClasses, Mat(), false, K );
それから私は使用します:
response = knn.find_nearest(testData,K,Results,nearests,dists);
しかし、結果は常に1です。たとえ、距離がゼロでクラスとして選択されるはずのトレーニングサンプルの機能を提供したとしてもです。
マットの結果を次のように印刷すると、次のようになります。
FileStorage f;
f.open("result.xml", FileStorage::WRITE);
f << "t" << Results;
f.release();
それは私に浮動小数点を与えます、
だから私の質問は私が間違っていることですか?または、どのようにして適切なクラスラベルを取得する必要がありますか?!