Open tejus-gupta opened 7 years ago
Here is my code but it doesn't work:
#include <flann/flann.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
int rows = 4;
int cols = 4;
int tcount = 4;
unsigned char* dataset=malloc(4*4*sizeof(unsigned char));
unsigned char* testset=malloc(4*4*sizeof(unsigned char));
unsigned char* pt;
int nn=1;
int* result =(int*) malloc(tcount*nn*sizeof(int));
float* dists =(float*) malloc(tcount*nn*sizeof(float));
struct FLANNParameters p;
float speedup;
flann_index_t index_id;
pt=dataset;
for(int i=0;i<16;i++)
{
*pt=i;
pt++;
}
pt=testset;
for(int i=0;i<16;i++)
{
*pt=i;
pt++;
}
p = DEFAULT_FLANN_PARAMETERS;
p.algorithm = FLANN_INDEX_HIERARCHICAL;
p.log_level = FLANN_LOG_INFO;
printf("Computing index.\n");
flann_set_distance_type(9, 2);
index_id = flann_build_index(dataset, rows, cols, &speedup, &p);
flann_find_nearest_neighbors_index(index_id, testset, tcount, result, dists, nn, &p);
for(int i=0;i<tcount;i++)
printf("%d %f\n", result[i], dists[i]);
flann_free_index(index_id, &p);
free(dataset);
free(testset);
free(result);
free(dists);
return 0;
}
How to use hierarchical clustering index in C? It would be helpful if someone could give a sample code.