diff options
Diffstat (limited to 'caffe2-1.0rc1-opencv4-fix.patch')
-rw-r--r-- | caffe2-1.0rc1-opencv4-fix.patch | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/caffe2-1.0rc1-opencv4-fix.patch b/caffe2-1.0rc1-opencv4-fix.patch new file mode 100644 index 000000000000..94cb614c5477 --- /dev/null +++ b/caffe2-1.0rc1-opencv4-fix.patch @@ -0,0 +1,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}) |