Skip to content

Commit

Permalink
OpenCV, Extra, ippicv: update to v4.8.1-p0 (#696)
Browse files Browse the repository at this point in the history
Update `OpenCV` to version `v4.8.1-p0` and the components `OpenCV-Extra`
to `v4.8.1` and `ippicv` to `20230330`. Those packages belong together
so I updated them together.

Implement the documentation stubs for `OpenCV-Extra` and `ippicv` as well.

Update the default flags for OpenCV project to make sure all OpenCV
modules, which would download data from the internet themselfs during
CMake configuration are disabled.
  • Loading branch information
NeroBurner authored Oct 25, 2023
1 parent 669859f commit 1897f17
Show file tree
Hide file tree
Showing 7 changed files with 121 additions and 50 deletions.
6 changes: 3 additions & 3 deletions cmake/configs/default.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ hunter_default_version(OpenBLAS VERSION 0.3.21)
hunter_default_version(OpenCL VERSION 2022.01.04-p1)
hunter_default_version(OpenCL-Headers VERSION 2022.01.04)
hunter_default_version(OpenCL-cpp VERSION 2.0.16-61a5c9a-p0)
hunter_default_version(OpenCV VERSION 4.5.5-p0)
hunter_default_version(OpenCV-Extra VERSION 4.5.3)
hunter_default_version(OpenCV VERSION 4.8.1-p0)
hunter_default_version(OpenCV-Extra VERSION 4.8.1)
hunter_default_version(OpenEXR VERSION 3.1.5-p0)
hunter_default_version(OpenGL-Registry VERSION 0.0.0-d15191e-p0)
hunter_default_version(OpenNMTTokenizer VERSION 1.11.0-p1)
Expand Down Expand Up @@ -332,7 +332,7 @@ hunter_default_version(intltool VERSION 0.51.0)
hunter_default_version(intsizeof VERSION 2.0.2)
hunter_default_version(intx VERSION 0.9.0)
hunter_default_version(ios_sim VERSION 3.1.1)
hunter_default_version(ippicv VERSION 20151201)
hunter_default_version(ippicv VERSION 20230330)
hunter_default_version(iroha-ed25519 VERSION 2.0.0)
hunter_default_version(irrXML VERSION 1.2-p0)
hunter_default_version(ittapi VERSION 3.21.2-p0)
Expand Down
12 changes: 12 additions & 0 deletions cmake/projects/OpenCV-Extra/hunter.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -150,5 +150,17 @@ hunter_add_version(
6301ce49ec0c851837b62aed8592be9cd9309f79
)

hunter_add_version(
PACKAGE_NAME
OpenCV-Extra
VERSION
"4.8.1"
URL
"https://github.com/opencv/opencv_contrib/archive/4.8.1.tar.gz"
SHA1
111cca75f8f3dd7d840755d6fc3c488c2fe980ed
)


hunter_pick_scheme(DEFAULT url_sha1_unpack)
hunter_download(PACKAGE_NAME OpenCV-Extra)
26 changes: 25 additions & 1 deletion cmake/projects/OpenCV/hunter.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ include(hunter_pick_scheme)

# List of versions here...

hunter_add_version(
PACKAGE_NAME
OpenCV
VERSION
"4.8.1-p0"
URL
"https://github.com/cpp-pm/opencv/archive/refs/tags/v4.8.1-p0.tar.gz"
SHA1
4338a5be8b3fe1d5fb7ba7935d99669005c1a7a0
)

hunter_add_version(
PACKAGE_NAME
OpenCV
Expand Down Expand Up @@ -503,20 +514,33 @@ hunter_cmake_args(
BUILD_JASPER=OFF
BUILD_WEBP=OFF
BUILD_OPENEXR=OFF
BUILD_OPENJPEG=OFF
BUILD_PROTOBUF=OFF
BUILD_TBB=OFF
BUILD_ITT=OFF
# This stuff will build shared libraries. Build with PIC required for dependencies.
BUILD_opencv_java=OFF
BUILD_opencv_python2=OFF
BUILD_opencv_python3=OFF
# disable downloaders because they download from the internet at configuration time
BUILD_opencv_wechat_qrcode=OFF
BUILD_opencv_xfeatures2d=OFF
WITH_ADE=OFF
BUILD_opencv_cudaoptflow=OFF
BUILD_opencv_face=OFF
# There is not a CUDA package so need to stop OpenCV from searching for it, otherwise
# it might pick up the host version
WITH_CUDA=OFF
WITH_CUDNN=OFF
WITH_CUFFT=OFF
WITH_CUBLAS=OFF
# Fix for https://travis-ci.org/xsacha/hunter/jobs/347083573
BUILD_opencv_dnn=OFF
WITH_FFMPEG=OFF
WITH_OPENJPEG=OFF
WITH_QUIRC=OFF
WITH_ADE=OFF
WITH_LAPACK=OFF
WITH_PROTOBUF=OFF
)

# Pick a download scheme
Expand Down
40 changes: 40 additions & 0 deletions cmake/projects/ippicv/hunter.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ include(hunter_add_version)
include(hunter_download)
include(hunter_pick_scheme)

# Version 20151201
if(APPLE)
hunter_add_version(
PACKAGE_NAME
Expand Down Expand Up @@ -42,6 +43,7 @@ elseif(WIN32)
)
endif()

# Version 20141027
if(APPLE)
hunter_add_version(
PACKAGE_NAME
Expand Down Expand Up @@ -77,5 +79,43 @@ elseif(WIN32)
)
endif()

# Version: 20230330
# added for OpenCV 4.8.1
if(APPLE)
hunter_add_version(
PACKAGE_NAME
ippicv
VERSION
"20230330"
URL
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_mac_intel64_20230330_general.tgz"
SHA1
abc8caf5d8819abfbe0b257c4d41d9cd32406ebb
)
elseif(UNIX)
hunter_add_version(
PACKAGE_NAME
ippicv
VERSION
"20230330"
URL
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_lnx_intel64_20230330_general.tgz"
SHA1
80c96d62ca6b4596775da7c5dcc9602712328a61
)
elseif(WIN32)
hunter_add_version(
PACKAGE_NAME
ippicv
VERSION
"20230330"
URL
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_win_intel64_20230330_general.zip"
SHA1
7c7f83e37caf6c342d76014f3eccedb47d559010
)
endif()


hunter_pick_scheme(DEFAULT url_sha1_download)
hunter_download(PACKAGE_NAME ippicv)
23 changes: 10 additions & 13 deletions docs/packages/pkg/OpenCV-Extra.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,17 @@
OpenCV-Extra
============

.. warning::
- `Official <https://github.com/opencv/opencv_contrib>`__
- `Example <https://github.com/cpp-pm/hunter/blob/master/examples/OpenCV-Extra/CMakeLists.txt>`__
- Available since `v0.11.1 <https://github.com/cpp-pm/hunter/releases/tag/v0.11.1>`__
- Added by `Ruslan Baratov <https://github.com/ruslo>`__ (`commit c0bb8aac <https://github.com/cpp-pm/hunter/commit/c0bb8aacac3ae8bc4f63a294e3dbf0ede0b7c785>`__)

This page is a template and contains no real information.
Please send pull request with real description.

- `__FIXME__ Official <https://__FIXME__>`__
- `__FIXME__ Hunterized <https://github.com/hunter-packages/__FIXME__>`__
- `__FIXME__ Example <https://github.com/cpp-pm/hunter/blob/master/examples/__FIXME__/CMakeLists.txt>`__
- Available since `__FIXME__ vX.Y.Z <https://github.com/cpp-pm/hunter/releases/tag/vX.Y.Z>`__
- Added by `__FIXME__ <https://github.com/__FIXME__>`__ (`__FIXME__ pr-N <https://github.com/ruslo/hunter/pull/N>`__)
Enabled by setting the flag ``OPENCV_WITH_EXTRA_MODULES=YES`` in the projects ``config.cmake`` file.

.. code-block:: cmake
hunter_add_package(__FIXME__)
find_package(__FIXME__ CONFIG REQUIRED)
target_link_libraries(foo __FIXME__::__FIXME__)
hunter_config(OpenCV
VERSION ${HUNTER_OpenCV_VERSION}
CMAKE_ARGS
OPENCV_WITH_EXTRA_MODULES=YES
)
28 changes: 14 additions & 14 deletions docs/packages/pkg/ippicv.rst
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
.. spelling::

ippicv
OpenCV

.. index:: unsorted ; ippicv
.. index:: opencv_component ; ippicv

.. _pkg.ippicv:

ippicv
======

.. warning::

This page is a template and contains no real information.
Please send pull request with real description.

- `__FIXME__ Official <https://__FIXME__>`__
- `__FIXME__ Hunterized <https://github.com/hunter-packages/__FIXME__>`__
- `__FIXME__ Example <https://github.com/cpp-pm/hunter/blob/master/examples/__FIXME__/CMakeLists.txt>`__
- Available since `__FIXME__ vX.Y.Z <https://github.com/cpp-pm/hunter/releases/tag/vX.Y.Z>`__
- Added by `__FIXME__ <https://github.com/__FIXME__>`__ (`__FIXME__ pr-N <https://github.com/ruslo/hunter/pull/N>`__)
- `Official <https://github.com/opencv/opencv_3rdparty/tree/ippicv/master>`__
- `Example <https://github.com/cpp-pm/hunter/blob/master/examples/ippicv/CMakeLists.txt>`__
- Available since `v0.14.12 <https://github.com/cpp-pm/hunter/releases/tag/v0.14.12>`__

.. code-block:: cmake
hunter_add_package(__FIXME__)
find_package(__FIXME__ CONFIG REQUIRED)
target_link_libraries(foo __FIXME__::__FIXME__)
hunter_add_package(ippicv)
file(GLOB ippicv_archive "${IPPICV_ROOT}/ippicv_*")
if(EXISTS "${ippicv_archive}")
message("ippicv archive: ${ippicv_archive}")
else()
message(FATAL_ERROR "Nothing found in `${IPPICV_ROOT}`")
endif()
ippicv stands for Intel(R) Integrated Performance Primitives for OpenCV.
The package was added to be used by the OpenCV project and should be updated together with OpenCV.
36 changes: 17 additions & 19 deletions examples/OpenCV-Extra/foo.cpp
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
// http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html
// from OpenCV_contrib/modules/stereo/samples/export_param_file.cpp

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <opencv2/xfeatures2d.hpp>
#include <opencv2/core.hpp>
#include <opencv2/stereo.hpp>

int main(int argc, char** argv) {
if (argc != 2) {
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
using namespace cv;
using namespace std;

cv::Mat image;
image = cv::imread(argv[1], 1);
int main(int argc, char* argv[])
{
//! [create]
Ptr<stereo::QuasiDenseStereo> stereo = stereo::QuasiDenseStereo::create(cv::Size(5,5));
//! [create]

if (!image.data) {
printf("No image data \n");
return EXIT_FAILURE;
}
cv::namedWindow("Display Image", cv::WINDOW_AUTOSIZE);
cv::imshow("Display Image", image);

cv::waitKey(0);
//! [write]
std::string parameterFileLocation = "./parameters.yaml";
if (argc > 1)
parameterFileLocation = argv[1];
stereo->saveParameters(parameterFileLocation);
//! [write]

return EXIT_SUCCESS;
return 0;
}

0 comments on commit 1897f17

Please sign in to comment.