summarylogtreecommitdiffstats
path: root/caffe2-1.0rc1-opencv4-fix.patch
blob: 94cb614c547734ec817738cdbc8c414e6eb6b81c (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
diff -Naurp a/binaries/convert_encoded_to_raw_leveldb.cc b/binaries/convert_encoded_to_raw_leveldb.cc
--- a/binaries/convert_encoded_to_raw_leveldb.cc	2018-10-02 04:54:52.000000000 +0000
+++ b/binaries/convert_encoded_to_raw_leveldb.cc	2018-11-25 18:02:35.117906145 +0000
@@ -109,7 +109,7 @@ void ConvertToRawDataset(
     cv::Mat img = cv::imdecode(
         cv::Mat(1, &encoded_size, CV_8UC1,
         const_cast<char*>(encoded_image.data())),
-        caffe2::FLAGS_color ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE);
+        caffe2::FLAGS_color ? cv::IMREAD_COLOR : cv::IMREAD_GRAYSCALE);
     cv::Mat resized_img;
     int scaled_width, scaled_height;
     if (caffe2::FLAGS_warp) {
diff -Naurp a/binaries/make_image_db.cc b/binaries/make_image_db.cc
--- a/binaries/make_image_db.cc	2018-10-02 04:54:52.000000000 +0000
+++ b/binaries/make_image_db.cc	2018-11-25 18:06:55.018892401 +0000
@@ -140,8 +140,8 @@ class Converter {
         // Load image
         cv::Mat img = cv::imread(
             input_folder + pair.first,
-            caffe2::FLAGS_color ? CV_LOAD_IMAGE_COLOR
-                                : CV_LOAD_IMAGE_GRAYSCALE);
+            caffe2::FLAGS_color ? cv::IMREAD_COLOR
+                                : cv::IMREAD_GRAYSCALE);
 
         // Resize image
         cv::Mat resized_img;
diff -Naurp a/caffe2/contrib/cuda-convnet2/make-data/pyext/src/pyext.cpp b/caffe2/contrib/cuda-convnet2/make-data/pyext/src/pyext.cpp
--- a/caffe2/contrib/cuda-convnet2/make-data/pyext/src/pyext.cpp	2018-11-25 13:49:49.972477452 +0000
+++ b/caffe2/contrib/cuda-convnet2/make-data/pyext/src/pyext.cpp	2018-11-25 13:42:33.000000000 +0000
@@ -93,7 +93,7 @@ void DecoderThread::makeJPEG(int idx) {
     size_t src_len = PyString_GET_SIZE(pySrc);
     vector<uchar> src_vec(src, src + src_len);
 
-    cv::Mat decoded_mat = cv::imdecode(cv::Mat(src_vec), CV_LOAD_IMAGE_COLOR);
+    cv::Mat decoded_mat = cv::imdecode(cv::Mat(src_vec), cv::IMREAD_COLOR);
     assert(decoded_mat.channels() == 3);
 
     /*
diff -Naurp a/caffe2/image/image_input_op.h b/caffe2/image/image_input_op.h
--- a/caffe2/image/image_input_op.h	2018-10-02 04:54:52.000000000 +0000
+++ b/caffe2/image/image_input_op.h	2018-11-25 13:51:25.414641803 +0000
@@ -465,7 +465,7 @@ bool ImageInputOp<Context>::GetImageAndL
                 datum.data().size(),
                 CV_8UC1,
                 const_cast<char*>(datum.data().data())),
-            color_ ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE);
+            color_ ? cv::IMREAD_COLOR : cv::IMREAD_GRAYSCALE);
         if (src.rows == 0 or src.cols == 0) {
           num_decode_errors_in_batch_++;
           src = cv::Mat::zeros(cv::Size(224, 224), CV_8UC3);
@@ -540,7 +540,7 @@ bool ImageInputOp<Context>::GetImageAndL
                 &encoded_size,
                 CV_8UC1,
                 const_cast<char*>(encoded_image_str.data())),
-            color_ ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE);
+            color_ ? cv::IMREAD_COLOR : cv::IMREAD_GRAYSCALE);
         if (src.rows == 0 or src.cols == 0) {
           num_decode_errors_in_batch_++;
           src = cv::Mat::zeros(cv::Size(224, 224), CV_8UC3);
@@ -681,7 +681,7 @@ bool ImageInputOp<Context>::GetImageAndL
   if (out_c == src.channels()) {
     *img = src;
   } else {
-    cv::cvtColor(src, *img, (out_c == 1) ? CV_BGR2GRAY : CV_GRAY2BGR);
+    cv::cvtColor(src, *img, (out_c == 1) ? cv::COLOR_BGR2GRAY : cv::COLOR_GRAY2BGR);
   }
 
   // Note(Yangqing): I believe that the mat should be created continuous.
diff -Naurp a/caffe2/video/optical_flow.cc b/caffe2/video/optical_flow.cc
--- a/caffe2/video/optical_flow.cc	2018-10-02 04:54:52.000000000 +0000
+++ b/caffe2/video/optical_flow.cc	2018-11-25 20:35:42.327123803 +0000
@@ -7,7 +7,11 @@ void OpticalFlowExtractor(
     const cv::Mat& curr_gray,
     const int flow_alg_type,
     cv::Mat& flow) {
+#if CV_MAJOR_VERSION >= 4
+  cv::Ptr<cv::DISOpticalFlow> tvl1 = cv::DISOpticalFlow::create();
+#else
   cv::Ptr<cv::DualTVL1OpticalFlow> tvl1 = cv::DualTVL1OpticalFlow::create();
+#endif
   switch (flow_alg_type) {
     case FLowAlgType::FarnebackOpticalFlow:
       cv::calcOpticalFlowFarneback(
diff -Naurp a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
--- a/cmake/Dependencies.cmake	2018-10-02 04:54:52.000000000 +0000
+++ b/cmake/Dependencies.cmake	2018-11-25 18:14:31.186866421 +0000
@@ -278,11 +278,15 @@ endif()
 
 # ---[ OpenCV
 if(USE_OPENCV)
-  # OpenCV 3
-  find_package(OpenCV 3 QUIET COMPONENTS core highgui imgproc imgcodecs videoio video)
+  # OpenCV 4
+  find_package(OpenCV 4 QUIET COMPONENTS core highgui imgproc imgcodecs optflow videoio video)
   if(NOT OpenCV_FOUND)
-    # OpenCV 2
-    find_package(OpenCV QUIET COMPONENTS core highgui imgproc)
+    # OpenCV 3
+    find_package(OpenCV 3 QUIET COMPONENTS core highgui imgproc imgcodecs videoio video)
+    if(NOT OpenCV_FOUND)
+      # OpenCV 2
+      find_package(OpenCV QUIET COMPONENTS core highgui imgproc)
+    endif()
   endif()
   if(OpenCV_FOUND)
     include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS})