Commit e6bc189e284a10b26e0da8be9fe2f2460ff9847b

Authored by Austin Van Blanton
1 parent 588bee16

Make AggregateFrames operate over TemplateLists (downstream independent Transfor…

…ms were receiving empty Templates)
openbr/plugins/frames.cpp
... ... @@ -27,12 +27,14 @@ private:
27 27 (void) data;
28 28 }
29 29  
30   - void projectUpdate(const Template &src, Template &dst)
  30 + void projectUpdate(const TemplateList &src, TemplateList &dst)
31 31 {
32 32 buffer.append(src);
33 33 if (buffer.size() < n) return;
34   - foreach (const Template &t, buffer) dst.append(t);
35   - dst.file = buffer.takeFirst().file;
  34 + Template out;
  35 + foreach (const Template &t, buffer) out.append(t);
  36 + out.file = buffer.takeFirst().file;
  37 + dst.append(out);
36 38 }
37 39  
38 40 void finalize(TemplateList & output)
... ...
openbr/plugins/opticalflow.cpp
... ... @@ -34,7 +34,7 @@ class OpticalFlowTransform : public UntrainableMetaTransform
34 34 void project(const Template &src, Template &dst) const
35 35 {
36 36 // get the two images put there by AggregateFrames
37   - if (src.size() < 2) return;
  37 + if (src.size() != 2) qFatal("Optical Flow requires two images.");
38 38 Mat prevImg = src[0], nextImg = src[1], flow, flowOneCh;
39 39 if (src[0].channels() != 1) OpenCVUtils::cvtGray(src[0], prevImg);
40 40 if (src[1].channels() != 1) OpenCVUtils::cvtGray(src[1], nextImg);
... ...