diff --git a/modules/bioinspired/src/retina_ocl.cpp b/modules/bioinspired/src/retina_ocl.cpp index 51f43f38b..364a6ea09 100644 --- a/modules/bioinspired/src/retina_ocl.cpp +++ b/modules/bioinspired/src/retina_ocl.cpp @@ -351,7 +351,7 @@ void RetinaOCLImpl::setupIPLMagnoChannel(const bool normaliseOutput, const float _retinaParameters.IplMagno.localAdaptintegration_k = localAdaptintegration_k; } -void RetinaOCLImpl::run(const InputArray input) +void RetinaOCLImpl::run(InputArray input) { oclMat &inputMatToConvert = getOclMatRef(input); bool colorMode = convertToColorPlanes(inputMatToConvert, _inputBuffer); diff --git a/modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp b/modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp index 21aaab9b1..84b4d8fb1 100644 --- a/modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp +++ b/modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp @@ -78,7 +78,7 @@ class CV_EXPORTS Saliency : public virtual Algorithm * \param saliencyMap The computed saliency map. * \return true if the saliency map is computed, false otherwise */ - bool computeSaliency( const InputArray image, OutputArray saliencyMap ); + bool computeSaliency( InputArray image, OutputArray saliencyMap ); /** * \brief Get the name of the specific saliency type @@ -88,7 +88,7 @@ class CV_EXPORTS Saliency : public virtual Algorithm protected: - virtual bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap ) = 0; + virtual bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap ) = 0; String className; }; @@ -114,7 +114,7 @@ class CV_EXPORTS StaticSaliency : public virtual Saliency */ bool computeBinaryMap( const Mat& saliencyMap, Mat& binaryMap ); protected: - virtual bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap )=0; + virtual bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap )=0; }; @@ -123,7 +123,7 @@ class CV_EXPORTS MotionSaliency : public virtual Saliency { protected: - virtual bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap )=0; + virtual bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap )=0; }; @@ -132,7 +132,7 @@ class CV_EXPORTS Objectness : public virtual Saliency { protected: - virtual bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap )=0; + virtual bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap )=0; }; diff --git a/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp b/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp index ab63f153f..2821a94ae 100644 --- a/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp +++ b/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp @@ -94,7 +94,7 @@ public: } protected: - bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap ); + bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap ); int resImWidth; int resImHeight; @@ -154,7 +154,7 @@ protected: The saliency map is given by a single *Mat* (one for each frame of an hypothetical video stream). */ - bool computeSaliencyImpl( const InputArray image, OutputArray saliencyMap ); + bool computeSaliencyImpl( InputArray image, OutputArray saliencyMap ); private: @@ -268,7 +268,7 @@ protected: specialized algorithm, the objectnessBoundingBox is a *vector\*. Each bounding box is represented by a *Vec4i* for (minX, minY, maxX, maxY). */ - bool computeSaliencyImpl( const InputArray image, OutputArray objectnessBoundingBox ); + bool computeSaliencyImpl( InputArray image, OutputArray objectnessBoundingBox ); private: diff --git a/modules/saliency/src/BING/objectnessBING.cpp b/modules/saliency/src/BING/objectnessBING.cpp index 67e17106f..d6643bab5 100644 --- a/modules/saliency/src/BING/objectnessBING.cpp +++ b/modules/saliency/src/BING/objectnessBING.cpp @@ -460,7 +460,7 @@ void ObjectnessBING::write() const } -bool ObjectnessBING::computeSaliencyImpl( const InputArray image, OutputArray objectnessBoundingBox ) +bool ObjectnessBING::computeSaliencyImpl( InputArray image, OutputArray objectnessBoundingBox ) { ValStructVec finalBoxes; getObjBndBoxesForSingleImage( image.getMat(), finalBoxes, 250 ); diff --git a/modules/saliency/src/motionSaliencyBinWangApr2014.cpp b/modules/saliency/src/motionSaliencyBinWangApr2014.cpp index 772fa30f4..7a08e6a7f 100644 --- a/modules/saliency/src/motionSaliencyBinWangApr2014.cpp +++ b/modules/saliency/src/motionSaliencyBinWangApr2014.cpp @@ -501,7 +501,7 @@ bool MotionSaliencyBinWangApr2014::templateReplacement( const Mat& finalBFMask, return true; } -bool MotionSaliencyBinWangApr2014::computeSaliencyImpl( const InputArray image, OutputArray saliencyMap ) +bool MotionSaliencyBinWangApr2014::computeSaliencyImpl( InputArray image, OutputArray saliencyMap ) { Mat highResBFMask; Mat lowResBFMask; diff --git a/modules/saliency/src/saliency.cpp b/modules/saliency/src/saliency.cpp index 5e86f46df..1c74f2c4e 100644 --- a/modules/saliency/src/saliency.cpp +++ b/modules/saliency/src/saliency.cpp @@ -62,7 +62,7 @@ Ptr Saliency::create( const String& saliencyType ) return Ptr(); } -bool Saliency::computeSaliency( const InputArray image, OutputArray saliencyMap ) +bool Saliency::computeSaliency( InputArray image, OutputArray saliencyMap ) { if( image.empty() ) return false; diff --git a/modules/saliency/src/staticSaliencySpectralResidual.cpp b/modules/saliency/src/staticSaliencySpectralResidual.cpp index 78deea9cc..55c82723a 100644 --- a/modules/saliency/src/staticSaliencySpectralResidual.cpp +++ b/modules/saliency/src/staticSaliencySpectralResidual.cpp @@ -73,7 +73,7 @@ void StaticSaliencySpectralResidual::write( cv::FileStorage& /*fs*/) const //params.write( fs ); } -bool StaticSaliencySpectralResidual::computeSaliencyImpl( const InputArray image, OutputArray saliencyMap ) +bool StaticSaliencySpectralResidual::computeSaliencyImpl( InputArray image, OutputArray saliencyMap ) { Mat grayTemp, grayDown; std::vector mv; diff --git a/modules/xfeatures2d/test/test_features2d.cpp b/modules/xfeatures2d/test/test_features2d.cpp index 303274efa..bbf05124b 100644 --- a/modules/xfeatures2d/test/test_features2d.cpp +++ b/modules/xfeatures2d/test/test_features2d.cpp @@ -1240,3 +1240,31 @@ TEST(DISABLED_Features2d_SURF_using_mask, regression) FeatureDetectorUsingMaskTest test(SURF::create()); test.safe_run(); } + +TEST( XFeatures2d_DescriptorExtractor, batch ) +{ + string path = string(cvtest::TS::ptr()->get_data_path() + "detectors_descriptors_evaluation/images_datasets/graf"); + vector imgs, descriptors; + vector > keypoints; + int i, n = 6; + Ptr sift = SIFT::create(); + + for( i = 0; i < n; i++ ) + { + string imgname = format("%s/img%d.png", path.c_str(), i+1); + Mat img = imread(imgname, 0); + imgs.push_back(img); + } + + sift->detect(imgs, keypoints); + sift->compute(imgs, keypoints, descriptors); + + ASSERT_EQ((int)keypoints.size(), n); + ASSERT_EQ((int)descriptors.size(), n); + + for( i = 0; i < n; i++ ) + { + EXPECT_GT((int)keypoints[i].size(), 100); + EXPECT_GT(descriptors[i].rows, 100); + } +}