Commit 9d5acfe2d50016ef9bd054a60da4f291ee39059d

Authored by Austin Blanton
1 parent c5786a1a

Put template in a templatelist before enrolling, return the templatelist

openbr/core/core.cpp
@@ -184,7 +184,7 @@ struct AlgorithmCore @@ -184,7 +184,7 @@ struct AlgorithmCore
184 return fileList; 184 return fileList;
185 } 185 }
186 186
187 - void enroll(Template &data) 187 + void enroll(TemplateList &data)
188 { 188 {
189 if (transform.isNull()) qFatal("Null transform."); 189 if (transform.isNull()) qFatal("Null transform.");
190 data >> *transform; 190 data >> *transform;
@@ -377,9 +377,10 @@ FileList br::Enroll(const File &input, const File &gallery) @@ -377,9 +377,10 @@ FileList br::Enroll(const File &input, const File &gallery)
377 return AlgorithmManager::getAlgorithm(gallery.get<QString>("algorithm"))->enroll(input, gallery); 377 return AlgorithmManager::getAlgorithm(gallery.get<QString>("algorithm"))->enroll(input, gallery);
378 } 378 }
379 379
380 -void br::Enroll(Template &tmpl) 380 +void br::Enroll(TemplateList &tl)
381 { 381 {
382 - AlgorithmManager::getAlgorithm(tmpl.file.get<QString>("algorithm"))->enroll(tmpl); 382 + QString alg = tl.first().file.get<QString>("algorithm");
  383 + AlgorithmManager::getAlgorithm(alg)->enroll(tl);
383 } 384 }
384 385
385 void br::Compare(const File &targetGallery, const File &queryGallery, const File &output) 386 void br::Compare(const File &targetGallery, const File &queryGallery, const File &output)
openbr/openbr.cpp
@@ -331,8 +331,17 @@ int br_img_channels(br_template tmpl) @@ -331,8 +331,17 @@ int br_img_channels(br_template tmpl)
331 return t->m().channels(); 331 return t->m().channels();
332 } 332 }
333 333
334 -void br_enroll_template(br_template tmpl) 334 +br_template_list br_enroll_template(br_template tmpl)
335 { 335 {
336 Template *t = reinterpret_cast<Template*>(tmpl); 336 Template *t = reinterpret_cast<Template*>(tmpl);
337 - Enroll(*t); 337 + TemplateList *tl = new TemplateList();
  338 + tl->append(*t);
  339 + Enroll(*tl);
  340 + return (br_template_list)tl;
  341 +}
  342 +
  343 +br_template br_get_template(br_template_list tl, int index)
  344 +{
  345 + TemplateList *realTL = reinterpret_cast<TemplateList*>(tl);
  346 + return (br_template)&realTL->at(index);
338 } 347 }
openbr/openbr.h
@@ -420,10 +420,11 @@ BR_EXPORT const char *br_version(); @@ -420,10 +420,11 @@ BR_EXPORT const char *br_version();
420 BR_EXPORT void br_slave_process(const char * baseKey); 420 BR_EXPORT void br_slave_process(const char * baseKey);
421 421
422 // to avoid having to include unwanted headers 422 // to avoid having to include unwanted headers
423 -// this will be this header's conception of a template 423 +// this will be this header's conception of a Template
424 // any functions that need a Template pointer 424 // any functions that need a Template pointer
425 // will take this typedef and cast it 425 // will take this typedef and cast it
426 typedef void* br_template; 426 typedef void* br_template;
  427 +typedef void* br_template_list;
427 /*! 428 /*!
428 * \brief Load an image from a string buffer. 429 * \brief Load an image from a string buffer.
429 * Easy way to pass an image in memory from another programming language to openbr. 430 * Easy way to pass an image in memory from another programming language to openbr.
@@ -450,9 +451,10 @@ BR_EXPORT int br_img_cols(br_template tmpl); @@ -450,9 +451,10 @@ BR_EXPORT int br_img_cols(br_template tmpl);
450 */ 451 */
451 BR_EXPORT int br_img_channels(br_template tmpl); 452 BR_EXPORT int br_img_channels(br_template tmpl);
452 /*! 453 /*!
453 - * \brief Enroll a br::Template from the C API! 454 + * \brief Enroll a br::Template from the C API! Returns a br::TemplateList
454 */ 455 */
455 -BR_EXPORT void br_enroll_template(br_template tmpl); 456 +BR_EXPORT br_template_list br_enroll_template(br_template tmpl);
  457 +BR_EXPORT br_template br_get_template(br_template_list tl, int index);
456 458
457 /*! @}*/ 459 /*! @}*/
458 460
openbr/openbr_plugin.h
@@ -1321,7 +1321,7 @@ BR_EXPORT FileList Enroll(const File &amp;input, const File &amp;gallery = File()); @@ -1321,7 +1321,7 @@ BR_EXPORT FileList Enroll(const File &amp;input, const File &amp;gallery = File());
1321 * \brief High-level function for enrolling templates. 1321 * \brief High-level function for enrolling templates.
1322 * \see br_enroll 1322 * \see br_enroll
1323 */ 1323 */
1324 -BR_EXPORT void Enroll(Template &tmpl); 1324 +BR_EXPORT void Enroll(TemplateList &tmpl);
1325 1325
1326 /*! 1326 /*!
1327 * \brief High-level function for comparing galleries. 1327 * \brief High-level function for comparing galleries.