005
09.01.2012, 22:26 Uhr
banshee
|
Hier ist die Doku: http://opencv.itseez.com/modules/ml/doc/k_nearest_neighbors.html
Es geht um CvKNearest.find_nearest()
Da übergibt man die Traininsdaten und das k für den kNN-Algorithmus und bekommt dann optionale Input-Parameter ausgefüllt.
Sieht dann so aus:
C++: |
const uint k = 7; CvMat* results = cvCreateMat(classnum, 1, CV_32F); CvMat* responses = cvCreateMat(classnum, k, CV_32F); CvMat* dist = cvCreateMat(classnum, k, CV_32F); const float* neighbors = new const float[k*classnum]; CvMat* datapoints = arr2mat(training_transformed); CvMat* testSamples = arr2mat(test_transformed); CvKNearest kNN(datapoints, trainingClasses, 0, false, k); kNN.find_nearest(testSamples, k, results, &neighbors, responses, dist);
|
|