void SaveableFlannBasedMatcher::load() { printf("Load called! Filename: %s\n", filename); // Read the descriptors std::vector<Mat> descsVec; std::string descriptorsFilename(filename); descriptorsFilename += "-descriptors.bin"; readDescriptors(descsVec, descriptorsFilename.c_str()); // Add the descriptors to the matcher printf("Adding the descriptors to the matcher...\n"); add(descsVec); std::string treeFilename(filename); treeFilename += "-tree.xml.gz"; cv::FileStorage store(treeFilename.c_str(), cv::FileStorage::READ); cv::FileNode node = store.root(); printf("Reading the matcher tree data...\n"); read(node); std::string indexFilename(filename); indexFilename += ".flannindex"; printf("Reading the flann index...\n"); readIndex(indexFilename.c_str()); store.release(); }
LinuxDevice::LinuxDevice(struct udev_device* dev) { log->debug("Creating a new LinuxDevice instance"); const char *name = udev_device_get_sysattr_value(dev, "product"); if (name) { log->debug("DeviceName={}", name); setDeviceName(name); } const char *id_vendor = udev_device_get_sysattr_value(dev, "idVendor"); if (id_vendor) { log->debug("VendorID={}", id_vendor); setVendorID(id_vendor); } const char *id_product = udev_device_get_sysattr_value(dev, "idProduct"); if (id_product) { log->debug("ProductID={}", id_product); setProductID(id_product); } const char *serial = udev_device_get_sysattr_value(dev, "serial"); if (serial) { log->debug("Serial={}", serial); setSerialNumber(serial); } const char *syspath = udev_device_get_syspath(dev); if (syspath) { log->debug("Syspath={}", syspath); _syspath = syspath; } else { throw std::runtime_error("device wihtout syspath"); } const char *sysname = udev_device_get_sysname(dev); if (sysname) { log->debug("Sysname={}", sysname); setDevicePort(sysname); } else { throw std::runtime_error("device wihtout sysname"); } log->debug("DeviceHash={}", getDeviceHash()); setTarget(Rule::Target::Unknown); std::ifstream descriptor_stream(_syspath + "/descriptors", std::ifstream::binary); if (!descriptor_stream.good()) { throw std::runtime_error("cannot load USB descriptors"); } else { readDescriptors(descriptor_stream); } return; }
double Forwarder::mr_pthread_forward(const Matrix &pi, const Matrix &A, const Matrix &B, const std::string &device_filename) const { std::vector<DeviceDescriptor> device_descriptors; readDescriptors(device_descriptors, device_filename); return mr_pthread_forward(pi, A, B, device_descriptors[0]); }
int main(int argc, char *argv[]) { int x,m; char *qs; entry *entries; int nbTrain,nbVal,nbDims,nbConcepts,c,**trainAnns,**valAnns,ret; char **trainList,**valList,**concepts,*name; float **trainDescriptors,**valDescriptors; /* récupération de la chaîne de paramètres */ qs = get_query_string(argc,argv); /* récupération des couples (nom,valeur) */ entries = get_entries(qs,&m); /* émission de l'entête */ print_html_head("Résultat"); /* affichage éventuel des informations de debug */ if (DEBUG) print_debug_query(entries,m,qs,argc,argv); trainList = readList("/usr/lib/cgi-bin/RIM/images/train/list.txt",&nbTrain); if (trainList == NULL) {printf("Failed to read %s file.\n","train/list.txt"); exitfail();} if (DEBUG) printf("Read train list, %d images.<BR>\n",nbTrain); valList = readList("/usr/lib/cgi-bin/RIM/images/val/list.txt",&nbVal); if (valList == NULL) {printf("Failed to read %s file.\n","val/list.txt"); exitfail();} if (DEBUG) printf("Read val list, %d images.<BR>\n",nbVal); trainDescriptors = readDescriptors("/usr/lib/cgi-bin/RIM/images/train/descriptors.bin",nbTrain,&nbDims); if (trainDescriptors == NULL) {printf("Failed to read %s file.\n","train/descriptors.bin"); exitfail();} if (DEBUG) printf("Read train descripors, %d images, %d dimensions.<BR>\n",nbTrain,nbDims); valDescriptors = readDescriptors("/usr/lib/cgi-bin/RIM/images/val/descriptors.bin",nbVal,&nbDims); if (valDescriptors == NULL) {printf("Failed to read %s file.\n","val/descriptors.bin"); exitfail();} if (DEBUG) printf("Read val descripors, %d images, %d dimensions.<BR>\n",nbVal,nbDims); concepts = readList("/usr/lib/cgi-bin/RIM/images/concepts.txt",&nbConcepts); if (concepts == NULL) {printf("Failed to read %s file.\n","concepts.txt"); exitfail();} if (DEBUG) printf("Read concept list, %d concepts.<BR>\n",nbConcepts); trainAnns = malloc(nbConcepts*sizeof(int *)); if (trainAnns == NULL) {printf("malloc() failed.\n"); exitfail();} if (DEBUG) printf("Read train annotations:"); for (c = 0; c < nbConcepts; c ++) { ret = asprintf(&name,"/usr/lib/cgi-bin/RIM/images/train/ann/%s.ann",concepts[c]); if (ret < 0) {printf("asprintf() failed.\n"); exitfail();} trainAnns[c] = readAnnotations(name,nbTrain); if (trainAnns[c] == NULL) {printf("Failed to read train/ann%s.ann file.\n",concepts[c]); exitfail();} if (DEBUG) printf(" %s",concepts[c]); } if (DEBUG) printf(".<BR>\n"); valAnns = malloc(nbConcepts*sizeof(int *)); if (valAnns == NULL) {printf("malloc() failed.\n"); exitfail();} if (DEBUG) printf("Read val annotations:"); for (c = 0; c < nbConcepts; c ++) { ret = asprintf(&name,"/usr/lib/cgi-bin/RIM/images/val/ann/%s.ann",concepts[c]); if (ret < 0) {printf("asprintf() failed.\n"); exitfail();} valAnns[c] = readAnnotations(name,nbVal); if (valAnns[c] == NULL) {printf("Failed to read val/ann%s.ann file.\n",concepts[c]); exitfail();} if (DEBUG) printf(" %s",concepts[c]); } if (DEBUG) printf(".<BR>\n"); /* émission de la fin de corps et de document */ print_html_tail(); exit(0); }