#include "creid.h" #include #include "csrc/reid.cpp" void *create_reid(const int gpu, const char *module){ return new reid(gpu, module); } void release_reid(void *handle){ reid *r = (reid*)handle; delete r; } float *extract(void *handle, unsigned char *image, const int w, const int h, const int c, int *size){ reid *r = (reid*)handle; float *feat = (float*)malloc(sizeof(float) * r->feat_size()); int ret = r->extract(image, w, h, c, feat); if (ret != 0){ free(feat); feat = NULL; *size = 0; } *size = r->feat_size(); return feat; } int feature_size(void *handle){ reid *r = (reid*)handle; return r->feat_size(); } float compare(void *handle, const float *feat1, const float *feat2){ reid *r = (reid*)handle; return r->compare(feat1, feat2); }