diff options
author | Florian Jung <florian.a.jung@web.de> | 2012-12-03 21:01:01 +0100 |
---|---|---|
committer | Florian Jung <florian.a.jung@web.de> | 2012-12-03 21:01:01 +0100 |
commit | 6175f64926b52b4d35379d4cc872b7c4cee7dd98 (patch) | |
tree | 171044422e8d8248e7f4860a806d0649d9f7a36f /steer_accumulator.cpp | |
parent | 2b023e3bb1176e24d722ec0943b14864f5a70205 (diff) |
anfänge der steerer-klassen
Diffstat (limited to 'steer_accumulator.cpp')
-rw-r--r-- | steer_accumulator.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/steer_accumulator.cpp b/steer_accumulator.cpp new file mode 100644 index 0000000..65ce38b --- /dev/null +++ b/steer_accumulator.cpp @@ -0,0 +1,33 @@ +#include "steer_accumulator.h" + +using namespace std; + +void SteerAccumulator::add_steerer(SteerIface* steerer) +{ + steerers.push_back(steerer); +} + +void SteerAccumulator::process_image(const Mat& img) +{ + for (list<SteerIface*>::iterator it = steerers.begin(); it!=steerers.end(); ++it) + (*it)->process_image(img); +} + +double SteerAccumulator::get_steer_data() +{ + double sum=0; + for (list<SteerIface*>::iterator it = steerers.begin(); it!=steerers.end(); ++it) + sum+=(*it)->get_steer_data() * (*it)->get_confidence(); + + double confidence = get_confidence(); + + return (confidence==0) ? 0.0 : (sum/confidence); +} + +double SteerAccumulator::get_confidence() +{ + double sum=0; + for (list<SteerIface*>::iterator it = steerers.begin(); it!=steerers.end(); ++it) + sum+=(*it)->get_confidence(); + return sum; +} |