From e0ebc6fc514a2bd6b099cc5125ce0c6b800defcb Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Tue, 10 Jun 2014 10:34:56 -0400 Subject: [PATCH] added matchprobability support for raw feature vectors --- openbr/plugins/quality.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/openbr/plugins/quality.cpp b/openbr/plugins/quality.cpp index 0e7bc66..0a02f40 100644 --- a/openbr/plugins/quality.cpp +++ b/openbr/plugins/quality.cpp @@ -184,10 +184,19 @@ class MatchProbabilityDistance : public Distance float compare(const cv::Mat &target, const cv::Mat &query) const { - const float rawScore = distance->compare(target, query); - if (rawScore == -std::numeric_limits::max()) return rawScore; - if (!Globals->scoreNormalization) return -log(rawScore+1); - return mp(rawScore, gaussian); + return normalize(distance->compare(target, query)); + } + + float compare(const uchar *a, const uchar *b, size_t size) const + { + return normalize(distance->compare(a, b, size)); + } + + float normalize(float score) const + { + if (score == -std::numeric_limits::max()) return score; + if (!Globals->scoreNormalization) return -log(score+1); + return mp(score, gaussian); } void store(QDataStream &stream) const -- libgit2 0.21.4