From b174c493e8628dbe57d0fcd2146e878fcf39614d Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Tue, 31 Dec 2013 13:53:32 -0500 Subject: [PATCH] Prelimnary framework in place --- openbr/plugins/distance.cpp | 19 +++++++++++++++++-- openbr/plugins/quality.cpp | 6 ++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/openbr/plugins/distance.cpp b/openbr/plugins/distance.cpp index 7cf6bfd..2c899ea 100644 --- a/openbr/plugins/distance.cpp +++ b/openbr/plugins/distance.cpp @@ -208,8 +208,13 @@ private: if (a.size() != b.size()) qFatal("Comparison size mismatch"); QList distances; - for (int i = 0; i < a.size(); i++) - distances.append(distance->compare(a[i],b[i])); + for (int i = 0; i < a.size(); i++) { + Template ai = a.file; + ai.m() = a[i].clone(); + Template bi = b.file; + bi.m() = b[i].clone(); + distances.append(distance->compare(ai,bi)); + } switch (operation) { case Mean: @@ -228,6 +233,16 @@ private: qFatal("Invalid operation."); } } + + void store(QDataStream &stream) const + { + distance->store(stream); + } + + void load(QDataStream &stream) + { + distance->load(stream); + } }; BR_REGISTER(Distance, OperationDistance) diff --git a/openbr/plugins/quality.cpp b/openbr/plugins/quality.cpp index 78fc093..6848e18 100644 --- a/openbr/plugins/quality.cpp +++ b/openbr/plugins/quality.cpp @@ -179,7 +179,12 @@ class MatchProbabilityDistance : public Distance } } + qDebug() << "Genuines: " << genuineScores.mid(0,5); + qDebug() << "Impostors: " << impostorScores.mid(0,5); + mp = MP(genuineScores, impostorScores); + + qDebug() << mp(-0.881882,true); } float compare(const Template &target, const Template &query) const @@ -187,6 +192,7 @@ class MatchProbabilityDistance : public Distance const float rawScore = distance->compare(target, query); if (rawScore == -std::numeric_limits::max()) return rawScore; if (!Globals->scoreNormalization) return -log(rawScore+1); + qDebug() << mp(rawScore, gaussian) << rawScore; return mp(rawScore, gaussian); } -- libgit2 0.21.4