From 419920f290a0be066c45b6c0a5e6a6392e049d76 Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Mon, 29 Jul 2013 14:55:54 -0400 Subject: [PATCH] IndependentTransform can now handle time varying transforms --- openbr/plugins/independent.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+), 0 deletions(-) diff --git a/openbr/plugins/independent.cpp b/openbr/plugins/independent.cpp index 6d0a5b2..123c979 100644 --- a/openbr/plugins/independent.cpp +++ b/openbr/plugins/independent.cpp @@ -99,6 +99,8 @@ class IndependentTransform : public MetaTransform return independentTransform; } + bool timeVarying() const { return transform->timeVarying(); } + static void _train(Transform *transform, const TemplateList *data) { transform->train(*data); @@ -143,6 +145,27 @@ class IndependentTransform : public MetaTransform dst.append(mats); } + void projectUpdate(const Template &src, Template &dst) + { + dst.file = src.file; + QList mats; + for (int i=0; iprojectUpdate(Template(src.file, src[i]), dst); + mats.append(dst); + dst.clear(); + } + dst.append(mats); + } + + void projectUpdate(const TemplateList &src, TemplateList &dst) + { + dst.reserve(src.size()); + foreach (const Template &t, src) { + dst.append(Template()); + projectUpdate(t, dst.last()); + } + } + void store(QDataStream &stream) const { const int size = transforms.size(); -- libgit2 0.21.4