summaryrefslogtreecommitdiff
path: root/libre/digikam/digikam-opencv-3.4.patch
blob: 7ef260414829e2ec02e243bd7e56e36314f3da7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f2d9c6212f..6341db8d32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -245,7 +245,7 @@ endif()
 if(ENABLE_OPENCV3)
 
     set(OPENCV_MIN_VERSION "3.1.0")
-    DETECT_OPENCV(${OPENCV_MIN_VERSION} core objdetect imgproc imgcodecs)
+    DETECT_OPENCV(${OPENCV_MIN_VERSION} core objdetect imgproc imgcodecs face)
 
     if(${OpenCV_FOUND})
         if(${OpenCV_VERSION} VERSION_LESS 3.1.0)
diff --git a/libs/facesengine/opencv3-face/face.hpp b/libs/facesengine/opencv3-face/face.hpp
index a99e7b349b..200b5b8b00 100644
--- a/libs/facesengine/opencv3-face/face.hpp
+++ b/libs/facesengine/opencv3-face/face.hpp
@@ -47,6 +47,7 @@ the use of this software, even if advised of the possibility of such damage.
 
 */
 
+#include "libopencv.h"
 #include "opencv2/core.hpp"
 #include "predict_collector.hpp"
 #include <map>
@@ -318,8 +319,12 @@ public:
     The suffix const means that prediction does not affect the internal model state, so the method can
     be safely called from within different threads.
      */
+#if OPENCV_TEST_VERSION(3,4,0)
     CV_WRAP virtual void save(const String& filename) const;
-
+#else
+    CV_WRAP virtual void write(const String& filename) const;
+#endif
+    
     /** @brief Loads a FaceRecognizer and its model state.
 
     Loads a persisted model and state from a given XML or YAML file . Every FaceRecognizer has to
@@ -327,17 +332,29 @@ public:
     FaceRecognizer::load(FileStorage& fs) in turn gets called by
     FaceRecognizer::load(const String& filename), to ease saving a model.
      */
+#if OPENCV_TEST_VERSION(3,4,0)
     CV_WRAP virtual void load(const String& filename);
-
+#else
+    CV_WRAP virtual void read(const String& filename);
+#endif
+    
     /** @overload
     Saves this model to a given FileStorage.
     @param fs The FileStorage to store this FaceRecognizer to.
     */
+#if OPENCV_TEST_VERSION(3,4,0)
     virtual void save(FileStorage& fs) const = 0;
-
+#else
+    virtual void write(FileStorage& fs) const = 0;
+#endif
+    
     /** @overload */
+#if OPENCV_TEST_VERSION(3,4,0)
     virtual void load(const FileStorage& fs) = 0;
-
+#else
+    virtual void read(const FileStorage& fs) = 0;
+#endif
+    
     /** @brief Sets string info for the specified model's label.
 
     The string info is replaced by the provided value if it was set before for the specified label.
diff --git a/libs/facesengine/opencv3-face/facerec.cpp b/libs/facesengine/opencv3-face/facerec.cpp
index a58124be1f..21ad5e57e7 100644
--- a/libs/facesengine/opencv3-face/facerec.cpp
+++ b/libs/facesengine/opencv3-face/facerec.cpp
@@ -66,21 +66,37 @@ void FaceRecognizer::update(InputArrayOfArrays src, InputArray labels)
     CV_Error(Error::StsNotImplemented, error_msg);
 }
 
+#if OPENCV_TEST_VERSION(3,4,0)
 void FaceRecognizer::load(const String &filename)
+#else
+void FaceRecognizer::read(const String &filename)
+#endif
 {
     FileStorage fs(filename, FileStorage::READ);
     if (!fs.isOpened())
         CV_Error(Error::StsError, "File can't be opened for writing!");
+#if OPENCV_TEST_VERSION(3,4,0)
     this->load(fs);
+#else
+    this->read(fs);
+#endif
     fs.release();
 }
 
+#if OPENCV_TEST_VERSION(3,4,0)
 void FaceRecognizer::save(const String &filename) const
+#else
+void FaceRecognizer::write(const String &filename) const
+#endif
 {
     FileStorage fs(filename, FileStorage::WRITE);
     if (!fs.isOpened())
         CV_Error(Error::StsError, "File can't be opened for writing!");
+#if OPENCV_TEST_VERSION(3,4,0)
     this->save(fs);
+#else
+    this->write(fs);
+#endif
     fs.release();
 }
 
diff --git a/libs/facesengine/recognition-opencv-lbph/facerec_borrowed.h b/libs/facesengine/recognition-opencv-lbph/facerec_borrowed.h
index 0ff718fc2f..4561db8af5 100644
--- a/libs/facesengine/recognition-opencv-lbph/facerec_borrowed.h
+++ b/libs/facesengine/recognition-opencv-lbph/facerec_borrowed.h
@@ -104,9 +104,12 @@ public:
 #if OPENCV_TEST_VERSION(3,0,0)
     using cv::FaceRecognizer::save;
     using cv::FaceRecognizer::load;
-#else
+#elif OPENCV_TEST_VERSION(3,4,0)
     using cv::face::FaceRecognizer::save;
     using cv::face::FaceRecognizer::load;
+#else
+    using cv::face::FaceRecognizer::write;
+    using cv::face::FaceRecognizer::read;
 #endif
 
     static cv::Ptr<LBPHFaceRecognizer> create(int radius=1,
@@ -160,8 +163,10 @@ public:
      */
 #if OPENCV_TEST_VERSION(3,1,0)
     void load(const cv::FileStorage&) {}
-#else
+#elif OPENCV_TEST_VERSION(3,4,0)
     void load(const cv::FileStorage&) override {}
+#else
+    void read(const cv::FileStorage&) override {}
 #endif
 
     /**
@@ -169,8 +174,10 @@ public:
      */
 #if OPENCV_TEST_VERSION(3,1,0)
     void save(cv::FileStorage&) const {}
-#else
+#elif OPENCV_TEST_VERSION(3,4,0)
     void save(cv::FileStorage&) const override {}
+#else
+    void write(cv::FileStorage&) const override {}
 #endif
 
     /**