From 51c68423840c6400adaa7a2a0fd2e9e2f372a213 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Thu, 19 May 2011 12:41:48 +0000 Subject: [PATCH] alter the read stage.threshold to match traincascade behavior (ticket #1071) --- modules/objdetect/src/cascadedetect.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/objdetect/src/cascadedetect.cpp b/modules/objdetect/src/cascadedetect.cpp index 349b139..8e55b89 100644 --- a/modules/objdetect/src/cascadedetect.cpp +++ b/modules/objdetect/src/cascadedetect.cpp @@ -1236,6 +1236,8 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object bool CascadeClassifier::Data::read(const FileNode &root) { + static const float THRESHOLD_EPS = 1e-5f; + // load stage params string stageTypeStr = (string)root[CC_STAGE_TYPE]; if( stageTypeStr == CC_BOOST ) @@ -1281,7 +1283,7 @@ bool CascadeClassifier::Data::read(const FileNode &root) { FileNode fns = *it; Stage stage; - stage.threshold = fns[CC_STAGE_THRESHOLD]; + stage.threshold = (float)fns[CC_STAGE_THRESHOLD] - THRESHOLD_EPS; fns = fns[CC_WEAK_CLASSIFIERS]; if(fns.empty()) return false; -- 2.7.4