From: Roman Donchenko Date: Mon, 10 Jun 2013 13:06:34 +0000 (+0400) Subject: Revert "Add a variant of detectMultiScale with an argument 'weights'" X-Git-Tag: accepted/tizen/6.0/unified/20201030.111113~1314^2~1251 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d583a79869a780521b18459c5bdf4ec29732805d;p=platform%2Fupstream%2Fopencv.git Revert "Add a variant of detectMultiScale with an argument 'weights'" It was merged by mistake. This reverts commit ab6be9b7b7691967e42297aa6d3a67fb07597fd8. --- diff --git a/modules/objdetect/doc/cascade_classification.rst b/modules/objdetect/doc/cascade_classification.rst index a00bdc9..eb07a6c 100644 --- a/modules/objdetect/doc/cascade_classification.rst +++ b/modules/objdetect/doc/cascade_classification.rst @@ -189,7 +189,6 @@ CascadeClassifier::detectMultiScale Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles. .. ocv:function:: void CascadeClassifier::detectMultiScale( const Mat& image, vector& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size()) -.. ocv:function:: void CascadeClassifier::detectMultiScale( const Mat& image, vector& objects, vector& weights, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size()) .. ocv:pyfunction:: cv2.CascadeClassifier.detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]) -> objects .. ocv:pyfunction:: cv2.CascadeClassifier.detectMultiScale(image, rejectLevels, levelWeights[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize[, outputRejectLevels]]]]]]) -> objects @@ -204,8 +203,6 @@ Detects objects of different sizes in the input image. The detected objects are :param objects: Vector of rectangles where each rectangle contains the detected object. - :param weights: Vector of weights of the corresponding objects. Weight is the number of neighboring positively classified rectangles that were joined into one object. - :param scaleFactor: Parameter specifying how much the image size is reduced at each image scale. :param minNeighbors: Parameter specifying how many neighbors each candidate rectangle should have to retain it. diff --git a/modules/objdetect/include/opencv2/objdetect/objdetect.hpp b/modules/objdetect/include/opencv2/objdetect/objdetect.hpp index 7924b67..8d7efb0 100644 --- a/modules/objdetect/include/opencv2/objdetect/objdetect.hpp +++ b/modules/objdetect/include/opencv2/objdetect/objdetect.hpp @@ -384,22 +384,13 @@ public: CV_WRAP virtual void detectMultiScale( const Mat& image, CV_OUT vector& objects, - vector& weights, - double scaleFactor=1.1, - int minNeighbors=3, int flags=0, - Size minSize=Size(), - Size maxSize=Size() ); - - CV_WRAP virtual void detectMultiScale( const Mat& image, - CV_OUT vector& objects, vector& rejectLevels, vector& levelWeights, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size(), - bool outputRejectLevels=false, - bool outputWeights=false ); + bool outputRejectLevels=false ); bool isOldFormatCascade() const; diff --git a/modules/objdetect/src/cascadedetect.cpp b/modules/objdetect/src/cascadedetect.cpp index 341ef2a..9e78dce 100644 --- a/modules/objdetect/src/cascadedetect.cpp +++ b/modules/objdetect/src/cascadedetect.cpp @@ -1023,7 +1023,6 @@ public: }; struct getRect { Rect operator ()(const CvAvgComp& e) const { return e.rect; } }; -struct getNeighbors { int operator ()(const CvAvgComp& e) const { return e.neighbors; } }; bool CascadeClassifier::detectSingleScale( const Mat& image, int stripCount, Size processingRectSize, @@ -1093,12 +1092,11 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object vector& levelWeights, double scaleFactor, int minNeighbors, int flags, Size minObjectSize, Size maxObjectSize, - bool outputRejectLevels, bool outputWeights ) + bool outputRejectLevels ) { const double GROUP_EPS = 0.2; CV_Assert( scaleFactor > 1 && image.depth() == CV_8U ); - CV_Assert( !( outputRejectLevels && outputWeights ) ); if( empty() ) return; @@ -1113,12 +1111,6 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object Seq(_objects).copyTo(vecAvgComp); objects.resize(vecAvgComp.size()); std::transform(vecAvgComp.begin(), vecAvgComp.end(), objects.begin(), getRect()); - if( outputWeights ) - { - rejectLevels.resize(vecAvgComp.size()); - std::transform(vecAvgComp.begin(), vecAvgComp.end(), rejectLevels.begin(), - getNeighbors()); - } return; } @@ -1191,10 +1183,6 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object { groupRectangles( objects, rejectLevels, levelWeights, minNeighbors, GROUP_EPS ); } - else if( outputWeights ) - { - groupRectangles( objects, rejectLevels, minNeighbors, GROUP_EPS ); - } else { groupRectangles( objects, minNeighbors, GROUP_EPS ); @@ -1211,16 +1199,6 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector& object minNeighbors, flags, minObjectSize, maxObjectSize, false ); } -void CascadeClassifier::detectMultiScale( const Mat& image, CV_OUT vector& objects, - vector& weights, double scaleFactor, - int minNeighbors, int flags, Size minObjectSize, - Size maxObjectSize ) -{ - vector fakeLevelWeights; - detectMultiScale( image, objects, weights, fakeLevelWeights, scaleFactor, - minNeighbors, flags, minObjectSize, maxObjectSize, false, true ); -} - bool CascadeClassifier::Data::read(const FileNode &root) { static const float THRESHOLD_EPS = 1e-5f;