From 077ded527d10cad22bd106e64262ecd04bc010b14e843c36dcebbb34dd6b3b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sun, 14 Jun 2020 20:35:02 +0000 Subject: [PATCH] Accepting request 814492 from home:StefanBruens:branches:science MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 4.3.0 * DNN module: + Improved layers / activations / supported more models: - ONNX: LSTM, Broadcasting, Algebra over constants, Slice with multiple inputs - DarkNet: grouped convolutions, sigmoid, swish, scale_channels - MobileNet-SSD v3: #16760 + New samples / demos: - Clothes parts segmentation and CP-VTON - DaSiamRPN tracker Intel® Inference Engine backend (OpenVINO™): - added support for custom layers through nGraph OpenVINO API: #16628 - nGraph OpenVINO API is used by default: #16746 + Many fixes and optimizations in CUDA backend (thanks to @YashasSamaga) + OPEN AI LAB team submitted the patch that accelerates OpenCV DNN on ARM using their Tengine library * G-API module: + Introduced a new graph-level data type GOpaque. This type can be used to pass arbitrary user data types between G-API nodes in the graph (supported for CPU/OpenCV backend only). + Introduced a way to declare G-API CPU (OpenCV) kernels in-place + Added a new sample "Privacy masking camera", combining Deep Learning with traditional Image Processing (link) + Added more operations in the default library: WarpAffine, WarpPerspective, NV12toGray. * Performance improvements: + IPP-ICV library with CPU optimizations has been updated to version 2020.0.0 Gold + SIMD intrinsics: integral, resize, (opencv_contrib) RLOF implementation #2476 * And many other great contributions from OpenCV community: + (opencv_contrib) Computer Vision based Alpha Matting (GSoC 2019) #2306 + calib3d: findChessboardCornersSB improvements: #16625 + calib3d: updated documentation for RT matrices: #16860 + core: improved getNumberOfCPUs(): #16268 + imgproc: new algorithm HOUGH_GRADIENT_ALT is added to HoughCircles() function #16561. It has much better recall and precision + imgcodecs: added initial support for OpenJPEG library (version 2+): #16494 + highgui(Qt): added Copy to clipboard: #16677 + dnn: TensorFlow, Darknet and ONNX importers improvements by @ashishkrshrivastava + (opencv_contrib) added rapid module for silhouette based 3D object tracking: #2356 + (opencv_contrib) SIFT detector is enabled by default due patents expiration (without requirement of NONFREE build option) + help materials: OpenCV Cheat Sheet in Python: #4875 * Changes that can potentially break compatibility: + image filtering functions throws exception on empty input (voting results) - Packaging changes: * Stop mangling CMake diagnostic output, no dependency versions end up in the packages anyway, drop opencv-build-compare.patch * Set empty OPENCV_DOWNLOAD_TRIES_LIST, skip downloads even when network is available during builds (e.g. local build). * Drop upstream GLES patches: + 0001-Do-not-include-glx.h-when-using-GLES.patch + opencv-gles.patch OBS-URL: https://build.opensuse.org/request/show/814492 OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=15 --- ...Do-not-include-glx.h-when-using-GLES.patch | 31 --------- opencv-4.2.0.tar.gz | 3 - opencv-4.3.0.tar.gz | 3 + opencv-build-compare.patch | 42 ------------ opencv-gles.patch | 14 ---- opencv.changes | 67 +++++++++++++++++++ opencv.spec | 12 ++-- opencv_contrib-4.2.0.tar.gz | 3 - opencv_contrib-4.3.0.tar.gz | 3 + 9 files changed, 78 insertions(+), 100 deletions(-) delete mode 100644 0001-Do-not-include-glx.h-when-using-GLES.patch delete mode 100644 opencv-4.2.0.tar.gz create mode 100644 opencv-4.3.0.tar.gz delete mode 100644 opencv-build-compare.patch delete mode 100644 opencv-gles.patch delete mode 100644 opencv_contrib-4.2.0.tar.gz create mode 100644 opencv_contrib-4.3.0.tar.gz diff --git a/0001-Do-not-include-glx.h-when-using-GLES.patch b/0001-Do-not-include-glx.h-when-using-GLES.patch deleted file mode 100644 index 7ffe466..0000000 --- a/0001-Do-not-include-glx.h-when-using-GLES.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9be7aaacd55b6264f8b893277f3f44c1f2b37c47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=83=C2=BCns?= -Date: Sat, 15 Jul 2017 21:14:07 +0200 -Subject: [PATCH] Do not include glx.h when using GLES - ---- - modules/highgui/src/window_QT.cpp | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/modules/highgui/src/window_QT.cpp b/modules/highgui/src/window_QT.cpp -index 4cfce66..baea0a2 100644 ---- a/modules/highgui/src/window_QT.cpp -+++ b/modules/highgui/src/window_QT.cpp -@@ -54,9 +54,12 @@ - #include - #endif - -+// Get GL_PERSPECTIVE_CORRECTION_HINT definition, not available in GLES 2 or -+// OpenGL 3 core profile or later - #ifdef HAVE_QT_OPENGL -- #if defined Q_WS_X11 /* Qt4 */ || defined Q_OS_LINUX /* Qt5 */ -- #include -+ #if defined Q_WS_X11 /* Qt4 */ || \ -+ (!defined(QT_OPENGL_ES_2) && defined Q_OS_LINUX) /* Qt5 with desktop OpenGL */ -+ #include - #endif - #endif - --- -2.13.2 - diff --git a/opencv-4.2.0.tar.gz b/opencv-4.2.0.tar.gz deleted file mode 100644 index 716241b..0000000 --- a/opencv-4.2.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ccb2192d7e8c03c58fee07051364d94ed7599363f3b0dce1c5e6cc11c1bb0ec -size 87808712 diff --git a/opencv-4.3.0.tar.gz b/opencv-4.3.0.tar.gz new file mode 100644 index 0000000..6ef9d44 --- /dev/null +++ b/opencv-4.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68bc40cbf47fdb8ee73dfaf0d9c6494cd095cf6294d99de445ab64cf853d278a +size 87941482 diff --git a/opencv-build-compare.patch b/opencv-build-compare.patch deleted file mode 100644 index 919521e..0000000 --- a/opencv-build-compare.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8631bbc..60352a0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1099,11 +1099,11 @@ endif() - if(OPENCV_TIMESTAMP) - status(" Timestamp:" ${OPENCV_TIMESTAMP}) - endif() --status(" Host:" ${CMAKE_HOST_SYSTEM_NAME} ${CMAKE_HOST_SYSTEM_VERSION} ${CMAKE_HOST_SYSTEM_PROCESSOR}) -+status(" Host:" "Linux") - if(CMAKE_CROSSCOMPILING) - status(" Target:" ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}) - endif() --status(" CMake:" ${CMAKE_VERSION}) -+status(" CMake:" "YES") - status(" CMake generator:" ${CMAKE_GENERATOR}) - status(" CMake build tool:" ${CMAKE_BUILD_TOOL}) - if(MSVC) -diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake -index 9cba5d9..71f764c 100644 ---- a/cmake/OpenCVUtils.cmake -+++ b/cmake/OpenCVUtils.cmake -@@ -922,15 +922,18 @@ function(status text) - if(${status_cond}) - string(REPLACE ";" " " status_then "${status_then}") - string(REGEX REPLACE "^[ \t]+" "" status_then "${status_then}") -+ string(REGEX REPLACE "\\(ver [^\\)]+\\)" "" status_then "${status_then}") - ocv_output_status("${status_text} ${status_then}") - else() - string(REPLACE ";" " " status_else "${status_else}") - string(REGEX REPLACE "^[ \t]+" "" status_else "${status_else}") -+ string(REGEX REPLACE "\\(ver [^\\)]+\\)" "" status_else "${status_else}") - ocv_output_status("${status_text} ${status_else}") - endif() - else() - string(REPLACE ";" " " status_cond "${status_cond}") - string(REGEX REPLACE "^[ \t]+" "" status_cond "${status_cond}") -+ string(REGEX REPLACE "\\(ver [^\\)]+\\)" "" status_cond "${status_cond}") - ocv_output_status("${status_text} ${status_cond}") - endif() - else() - diff --git a/opencv-gles.patch b/opencv-gles.patch deleted file mode 100644 index 285f922..0000000 --- a/opencv-gles.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/modules/highgui/src/window_QT.cpp b/modules/highgui/src/window_QT.cpp -index 9425c7b..9e3c156 100644 ---- a/modules/highgui/src/window_QT.cpp -+++ b/modules/highgui/src/window_QT.cpp -@@ -3225,7 +3225,9 @@ void OpenGlViewPort::updateGl() - - void OpenGlViewPort::initializeGL() - { -+#ifdef GL_PERSPECTIVE_CORRECTION_HINT - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); -+#endif - } - - void OpenGlViewPort::resizeGL(int w, int h) diff --git a/opencv.changes b/opencv.changes index 1e2aa8a..da51156 100644 --- a/opencv.changes +++ b/opencv.changes @@ -1,3 +1,70 @@ +------------------------------------------------------------------- +Sat Jun 13 22:03:12 UTC 2020 - Stefan Brüns + +- Update to 4.3.0 + * DNN module: + + Improved layers / activations / supported more models: + - ONNX: LSTM, Broadcasting, Algebra over constants, Slice with + multiple inputs + - DarkNet: grouped convolutions, sigmoid, swish, scale_channels + - MobileNet-SSD v3: #16760 + + New samples / demos: + - Clothes parts segmentation and CP-VTON + - DaSiamRPN tracker + Intel® Inference Engine backend (OpenVINO™): + - added support for custom layers through nGraph OpenVINO + API: #16628 + - nGraph OpenVINO API is used by default: #16746 + + Many fixes and optimizations in CUDA backend (thanks to + @YashasSamaga) + + OPEN AI LAB team submitted the patch that accelerates OpenCV + DNN on ARM using their Tengine library + * G-API module: + + Introduced a new graph-level data type GOpaque. This type + can be used to pass arbitrary user data types between G-API + nodes in the graph (supported for CPU/OpenCV backend only). + + Introduced a way to declare G-API CPU (OpenCV) kernels in-place + + Added a new sample "Privacy masking camera", combining Deep + Learning with traditional Image Processing (link) + + Added more operations in the default library: WarpAffine, + WarpPerspective, NV12toGray. + * Performance improvements: + + IPP-ICV library with CPU optimizations has been updated to + version 2020.0.0 Gold + + SIMD intrinsics: integral, resize, (opencv_contrib) RLOF + implementation #2476 + * And many other great contributions from OpenCV community: + + (opencv_contrib) Computer Vision based Alpha Matting + (GSoC 2019) #2306 + + calib3d: findChessboardCornersSB improvements: #16625 + + calib3d: updated documentation for RT matrices: #16860 + + core: improved getNumberOfCPUs(): #16268 + + imgproc: new algorithm HOUGH_GRADIENT_ALT is added to + HoughCircles() function #16561. It has much better recall + and precision + + imgcodecs: added initial support for OpenJPEG library + (version 2+): #16494 + + highgui(Qt): added Copy to clipboard: #16677 + + dnn: TensorFlow, Darknet and ONNX importers improvements + by @ashishkrshrivastava + + (opencv_contrib) added rapid module for silhouette based 3D + object tracking: #2356 + + (opencv_contrib) SIFT detector is enabled by default due + patents expiration (without requirement of NONFREE build + option) + + help materials: OpenCV Cheat Sheet in Python: #4875 + * Changes that can potentially break compatibility: + + image filtering functions throws exception on empty input + (voting results) +- Packaging changes: + * Stop mangling CMake diagnostic output, no dependency versions + end up in the packages anyway, drop opencv-build-compare.patch + * Set empty OPENCV_DOWNLOAD_TRIES_LIST, skip downloads even when + network is available during builds (e.g. local build). + * Drop upstream GLES patches: + + 0001-Do-not-include-glx.h-when-using-GLES.patch + + opencv-gles.patch + ------------------------------------------------------------------- Fri Jun 12 14:18:41 UTC 2020 - Stefan Brüns diff --git a/opencv.spec b/opencv.spec index f119b06..3108ee2 100644 --- a/opencv.spec +++ b/opencv.spec @@ -34,7 +34,7 @@ %bcond_without python3 %bcond_without openblas Name: opencv -Version: 4.2.0 +Version: 4.3.0 Release: 0 Summary: Collection of algorithms for computer vision # GPL-2.0 AND Apache-2.0 files are in 3rdparty/ittnotify which is not build @@ -44,12 +44,6 @@ URL: https://opencv.org/ Source0: https://github.com/opencv/opencv/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz # This is the FACE module from the opencv_contrib package. Packaged separately to prevent too much unstable modules Source1: https://github.com/opencv/opencv_contrib/archive/%{version}.tar.gz#/opencv_contrib-%{version}.tar.gz -# PATCH-FIX-OPENCSUSE opencv-gles.patch -- Make sure PERSPECTIVE_CORRECTION_HINT is validated first, https://github.com/opencv/opencv/issues/9171 -Patch0: opencv-gles.patch -# PATCH-FIX-OPENSUSE opencv-build-compare.patch -- avoid republish if some random external version number changes -Patch1: opencv-build-compare.patch -# PATCH-FIX-OPENSUSE 0001-Do-not-include-glx.h-when-using-GLES.patch -- Fix build error on 32bit ARM, due to incompatible pointer types, https://github.com/opencv/opencv/issues/9171 -Patch2: 0001-Do-not-include-glx.h-when-using-GLES.patch # PATCH-FIX-OPENSUSE opencv-includedir.patch -- Fix wrong include path in pkgconfig file Patch3: opencv-includedir.patch BuildRequires: cmake @@ -58,6 +52,8 @@ BuildRequires: libeigen3-devel BuildRequires: libjpeg-devel BuildRequires: pkgconfig BuildRequires: memory-constraints +# OpenJPEGTargets.cmake erroneously requires the binaries +BuildRequires: openjpeg2 BuildRequires: tbb-devel BuildRequires: unzip BuildRequires: pkgconfig(IlmBase) @@ -66,6 +62,7 @@ BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(libdc1394-2) BuildRequires: pkgconfig(libgphoto2) +BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libv4l2) @@ -235,6 +232,7 @@ rm -f doc/packaging.txt -DOPENCV_SKIP_PYTHON_LOADER=ON \ -DOPENCV_PYTHON2_INSTALL_PATH=%{python2_sitearch} \ -DOPENCV_PYTHON3_INSTALL_PATH=%{python3_sitearch} \ + -DOPENCV_DOWNLOAD_TRIES_LIST:STRING="" \ -DWITH_JASPER=OFF \ make %{?_smp_mflags} VERBOSE=1 diff --git a/opencv_contrib-4.2.0.tar.gz b/opencv_contrib-4.2.0.tar.gz deleted file mode 100644 index 601fe1b..0000000 --- a/opencv_contrib-4.2.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a6b5661611d89baa59a26eb7ccf4abb3e55d73f99bb52d8f7c32265c8a43020 -size 60482273 diff --git a/opencv_contrib-4.3.0.tar.gz b/opencv_contrib-4.3.0.tar.gz new file mode 100644 index 0000000..9704127 --- /dev/null +++ b/opencv_contrib-4.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acb8e89c9e7d1174e63e40532125b60d248b00e517255a98a419d415228c6a55 +size 60881379