Commit 8de955668d904cf9adba5e62bcb871b75e263706
1 parent
c9cf519c
introduced Template::readUniversalTemplate and Template::freeUniversalTemplate
Showing
2 changed files
with
19 additions
and
0 deletions
openbr/openbr_plugin.cpp
| ... | ... | @@ -439,6 +439,23 @@ Template Template::fromUniversalTemplate(const br_utemplate &ut) |
| 439 | 439 | return Template(File(map), m); |
| 440 | 440 | } |
| 441 | 441 | |
| 442 | +br_utemplate Template::readUniversalTemplate(QFile &file) | |
| 443 | +{ | |
| 444 | + const size_t headerSize = sizeof(br_universal_template); | |
| 445 | + br_universal_template *t = (br_universal_template*) malloc(headerSize); | |
| 446 | + file.read((char*) t, headerSize); | |
| 447 | + | |
| 448 | + const size_t dataSize = t->mdSize + t->fvSize; | |
| 449 | + t = (br_universal_template*) realloc(t, headerSize + dataSize); | |
| 450 | + file.read((char*) &t->data, dataSize); | |
| 451 | + return t; | |
| 452 | +} | |
| 453 | + | |
| 454 | +void Template::freeUniversalTemplate(br_const_utemplate t) | |
| 455 | +{ | |
| 456 | + free((void*) t); | |
| 457 | +} | |
| 458 | + | |
| 442 | 459 | QDataStream &br::operator<<(QDataStream &stream, const Template &t) |
| 443 | 460 | { |
| 444 | 461 | return stream << static_cast<const QList<cv::Mat>&>(t) << t.file; | ... | ... |
openbr/openbr_plugin.h
| ... | ... | @@ -296,6 +296,8 @@ struct Template : public QList<cv::Mat> |
| 296 | 296 | |
| 297 | 297 | static br_utemplate toUniversalTemplate(const Template &t); |
| 298 | 298 | static Template fromUniversalTemplate(const br_utemplate &ut); |
| 299 | + static br_utemplate readUniversalTemplate(QFile &file); | |
| 300 | + static void freeUniversalTemplate(br_const_utemplate t); | |
| 299 | 301 | }; |
| 300 | 302 | |
| 301 | 303 | BR_EXPORT QDataStream &operator<<(QDataStream &stream, const Template &t); | ... | ... |