36 const bool use_kmeansplusplus_method,
41 const size_t attempts,
46 return RunKMeans(nPoints,k,dims,const_cast<double*>(
points),attempts,out_center,out_assignments);
51 const bool use_kmeansplusplus_method,
56 const size_t attempts,
61 std::vector<double> points_d(nPoints*dims);
62 std::vector<double> centers_d(k*dims);
64 for (
size_t i=0;i<nPoints*dims;i++)
65 points_d[i] =
double(
points[i]);
67 const double ret =
RunKMeans(nPoints,k,dims,&points_d[0],attempts,¢ers_d[0],out_assignments);
71 for (
size_t i=0;i<k*dims;i++)
72 out_center[i] =
float(centers_d[i]);
Scalar RunKMeans(int n, int k, int d, Scalar *points, int attempts, Scalar *ret_centers, int *ret_assignment)
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
GLsizei const GLfloat * points
This base provides a set of functions for maths stuff.
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
BASE_IMPEXP double internal_kmeans< float >(const bool use_kmeansplusplus_method, const size_t nPoints, const size_t k, const size_t dims, const float *points, const size_t attempts, float *out_center, int *out_assignments)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
BASE_IMPEXP double internal_kmeans< double >(const bool use_kmeansplusplus_method, const size_t nPoints, const size_t k, const size_t dims, const double *points, const size_t attempts, double *out_center, int *out_assignments)