From e0b40c26d887f129194b779f7f7e98a311e45cb0 Mon Sep 17 00:00:00 2001 From: Maria Dimashova Date: Mon, 25 Oct 2010 12:05:22 +0000 Subject: [PATCH] fixed CascadeClassifier::detectMultiScale when TBB --- modules/objdetect/src/cascadedetect.cpp | 8 ++++---- tests/cv/src/tsysa.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/objdetect/src/cascadedetect.cpp b/modules/objdetect/src/cascadedetect.cpp index e8d22c4..56ab356 100644 --- a/modules/objdetect/src/cascadedetect.cpp +++ b/modules/objdetect/src/cascadedetect.cpp @@ -898,10 +898,10 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object int yStep = factor > 2. ? 1 : 2; #ifdef HAVE_TBB - const int PTS_PER_THREAD = 100; - stripCount = max(((sz1.height*sz1.width)/(yStep*yStep) + PTS_PER_THREAD/2)/PTS_PER_THREAD, 1); - stripSize = (sz1.height + stripCount - 1)/stripCount; - stripSize = (stripSize/yStep)*yStep; + const int PTS_PER_THREAD = 1000; + stripCount = ((sz1.width/yStep)*(sz1.height + yStep-1)/yStep + PTS_PER_THREAD/2)/PTS_PER_THREAD; + stripCount = std::min(std::max(stripCount, 1), 100); + stripSize = (((sz1.height + stripCount - 1)/stripCount + yStep-1)/yStep)*yStep; #else stripCount = 1; stripSize = sz1.height; diff --git a/tests/cv/src/tsysa.cpp b/tests/cv/src/tsysa.cpp index daac020..a801d25 100644 --- a/tests/cv/src/tsysa.cpp +++ b/tests/cv/src/tsysa.cpp @@ -50,7 +50,7 @@ const char* blacklist[] = "calibrate-camera-artificial", //ticket 472 //"calibrate-camera-cpp", //ticket 564 //"calibrate-stereo-c", //ticket 565 - "cascade-detector", //ticket 432 + //"cascade-detector", //ticket 432 "chessboard-detector", //ticket 569 "chessboard-subpixel", //ticket 473 "color-luv", //ticket 502 -- 2.7.4