remove filepng little-endian, reactivate sift in opencv
[goodguy/cinelerra.git] / cinelerra-5.1 / thirdparty / src / opencv-20200306.tgz.patch1
diff --git a/cinelerra-5.1/thirdparty/src/opencv-20200306.tgz.patch1 b/cinelerra-5.1/thirdparty/src/opencv-20200306.tgz.patch1
new file mode 100644 (file)
index 0000000..7bcbe60
--- /dev/null
@@ -0,0 +1,159 @@
+diff -ruN a/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp b/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp
+--- a/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp       2019-12-19 04:02:03.000000000 -0700
++++ b/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp       2020-03-24 17:09:02.143528875 -0600
+@@ -50,40 +50,6 @@
+ namespace xfeatures2d
+ {
+-//! @addtogroup xfeatures2d_nonfree
+-//! @{
+-
+-/** @brief Class for extracting keypoints and computing descriptors using the Scale Invariant Feature Transform
+-(SIFT) algorithm by D. Lowe @cite Lowe04 .
+- */
+-class CV_EXPORTS_W SIFT : public Feature2D
+-{
+-public:
+-    /**
+-    @param nfeatures The number of best features to retain. The features are ranked by their scores
+-    (measured in SIFT algorithm as the local contrast)
+-
+-    @param nOctaveLayers The number of layers in each octave. 3 is the value used in D. Lowe paper. The
+-    number of octaves is computed automatically from the image resolution.
+-
+-    @param contrastThreshold The contrast threshold used to filter out weak features in semi-uniform
+-    (low-contrast) regions. The larger the threshold, the less features are produced by the detector.
+-
+-    @param edgeThreshold The threshold used to filter out edge-like features. Note that the its meaning
+-    is different from the contrastThreshold, i.e. the larger the edgeThreshold, the less features are
+-    filtered out (more features are retained).
+-
+-    @param sigma The sigma of the Gaussian applied to the input image at the octave \#0. If your image
+-    is captured with a weak camera with soft lenses, you might want to reduce the number.
+-     */
+-    CV_WRAP static Ptr<SIFT> create( int nfeatures = 0, int nOctaveLayers = 3,
+-                                    double contrastThreshold = 0.04, double edgeThreshold = 10,
+-                                    double sigma = 1.6);
+-};
+-
+-typedef SIFT SiftFeatureDetector;
+-typedef SIFT SiftDescriptorExtractor;
+-
+ /** @brief Class for extracting Speeded Up Robust Features from an image @cite Bay06 .
+ The algorithm parameters:
+diff -ruN a/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp b/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp
+--- a/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp       2019-12-19 04:02:03.000000000 -0700
++++ b/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp       2020-03-24 17:09:02.143528875 -0600
+@@ -67,6 +67,39 @@
+ namespace xfeatures2d
+ {
++
++/** @brief Class for extracting keypoints and computing descriptors using the Scale Invariant Feature Transform
++(SIFT) algorithm by D. Lowe @cite Lowe04 .
++*/
++class CV_EXPORTS_W SIFT : public Feature2D
++{
++public:
++    /**
++    @param nfeatures The number of best features to retain. The features are ranked by their scores
++    (measured in SIFT algorithm as the local contrast)
++
++    @param nOctaveLayers The number of layers in each octave. 3 is the value used in D. Lowe paper. The
++    number of octaves is computed automatically from the image resolution.
++
++    @param contrastThreshold The contrast threshold used to filter out weak features in semi-uniform
++    (low-contrast) regions. The larger the threshold, the less features are produced by the detector.
++
++    @param edgeThreshold The threshold used to filter out edge-like features. Note that the its meaning
++    is different from the contrastThreshold, i.e. the larger the edgeThreshold, the less features are
++    filtered out (more features are retained).
++
++    @param sigma The sigma of the Gaussian applied to the input image at the octave \#0. If your image
++    is captured with a weak camera with soft lenses, you might want to reduce the number.
++    */
++    CV_WRAP static Ptr<SIFT> create(int nfeatures = 0, int nOctaveLayers = 3,
++        double contrastThreshold = 0.04, double edgeThreshold = 10,
++        double sigma = 1.6);
++};
++
++typedef SIFT SiftFeatureDetector;
++typedef SIFT SiftDescriptorExtractor;
++
++
+ //! @addtogroup xfeatures2d_experiment
+ //! @{
+diff -ruN a/opencv_contrib/modules/xfeatures2d/src/sift.cpp b/opencv_contrib/modules/xfeatures2d/src/sift.cpp
+--- a/opencv_contrib/modules/xfeatures2d/src/sift.cpp  2019-12-19 04:02:03.000000000 -0700
++++ b/opencv_contrib/modules/xfeatures2d/src/sift.cpp  2020-03-24 17:09:07.164676799 -0600
+@@ -114,8 +114,6 @@
+ namespace xfeatures2d
+ {
+-#ifdef OPENCV_ENABLE_NONFREE
+-
+ /*!
+  SIFT implementation.
+@@ -1202,14 +1200,5 @@
+     }
+ }
+-#else // ! #ifdef OPENCV_ENABLE_NONFREE
+-Ptr<SIFT> SIFT::create( int, int, double, double, double )
+-{
+-    CV_Error(Error::StsNotImplemented,
+-        "This algorithm is patented and is excluded in this configuration; "
+-        "Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library");
+-}
+-#endif
+-
+ }
+ }
+diff -ruN a/opencv_contrib/modules/xfeatures2d/test/test_features2d.cpp b/opencv_contrib/modules/xfeatures2d/test/test_features2d.cpp
+--- a/opencv_contrib/modules/xfeatures2d/test/test_features2d.cpp      2019-12-19 04:02:03.000000000 -0700
++++ b/opencv_contrib/modules/xfeatures2d/test/test_features2d.cpp      2020-03-24 17:09:07.165676829 -0600
+@@ -94,7 +94,6 @@
+ /*
+  * Descriptors
+  */
+-#ifdef OPENCV_ENABLE_NONFREE
+ TEST( Features2d_DescriptorExtractor_SIFT, regression )
+ {
+     CV_DescriptorExtractorTest<L1<float> > test( "descriptor-sift", 1.0f,
+@@ -102,6 +101,7 @@
+     test.safe_run();
+ }
++#ifdef OPENCV_ENABLE_NONFREE
+ TEST( Features2d_DescriptorExtractor_SURF, regression )
+ {
+ #ifdef HAVE_OPENCL
+@@ -375,8 +375,9 @@
+     Ptr<Feature2D> f2d;
+ };
+-#ifdef OPENCV_ENABLE_NONFREE
+ TEST(Features2d_SIFTHomographyTest, regression) { CV_DetectPlanarTest test("SIFT", 80, SIFT::create()); test.safe_run(); }
++
++#ifdef OPENCV_ENABLE_NONFREE
+ TEST(Features2d_SURFHomographyTest, regression) { CV_DetectPlanarTest test("SURF", 80, SURF::create()); test.safe_run(); }
+ #endif
+@@ -441,13 +442,13 @@
+     Ptr<FeatureDetector> featureDetector_;
+ };
+-#ifdef OPENCV_ENABLE_NONFREE
+ TEST(Features2d_SIFT_using_mask, regression)
+ {
+     FeatureDetectorUsingMaskTest test(SIFT::create());
+     test.safe_run();
+ }
++#ifdef OPENCV_ENABLE_NONFREE
+ TEST(DISABLED_Features2d_SURF_using_mask, regression)
+ {
+     FeatureDetectorUsingMaskTest test(SURF::create());