mirror of
https://github.com/opencv/opencv.git
synced 2024-12-03 00:10:21 +08:00
Created BuildOpenCV4OpenVINO (markdown)
parent
1c9bdd44ad
commit
6b9c865827
136
BuildOpenCV4OpenVINO.md
Normal file
136
BuildOpenCV4OpenVINO.md
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# Build OpenCV for OpenVINO
|
||||||
|
|
||||||
|
OpenVINO does not provide custom OpenCV drop since 2022.1.1 release.
|
||||||
|
If OpenVINO user needs OpenCV functionality there are 2 approaches how to get it:
|
||||||
|
1. Get OpenCV from another sources (system repositories, pip, conda, homebrew). It is easy to follow this approach, however it has several disadvantages:
|
||||||
|
* OpenCV version is out-of-date
|
||||||
|
* OpenCV does not contain G-API module (e.g. some OMZ demos use G-API functionality)
|
||||||
|
* OpenCV does not use available CPU instructions since it has build to cover wide range of hardware
|
||||||
|
* OpenCV does not support Intel TBB, Intel Media SDK
|
||||||
|
* OpenCV DNN module can not use OpenVINO as computational backend
|
||||||
|
2. Compile OpenCV from source code. This approach solves the issues mentioned above.
|
||||||
|
|
||||||
|
The instruction below shows how to build OpenCV for OpenVINO.
|
||||||
|
|
||||||
|
## Ubuntu
|
||||||
|
|
||||||
|
1. Install OpenVINO according to the [instruction](https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_linux.html)
|
||||||
|
2. Copy OpenCV repository:
|
||||||
|
> git clone --recurse-submodules https://github.com/opencv/opencv.git
|
||||||
|
3. Install the following packages:
|
||||||
|
> sudo apt-get install \\\
|
||||||
|
build-essential \\\
|
||||||
|
cmake \\\
|
||||||
|
ninja-build \\\
|
||||||
|
libgtk-3-dev \\\
|
||||||
|
libpng-dev \\\
|
||||||
|
libjpeg-dev \\\
|
||||||
|
libwebp-dev \\\
|
||||||
|
libtiff5-dev \\\
|
||||||
|
libopenexr-dev \\\
|
||||||
|
libopenblas-dev \\\
|
||||||
|
libx11-dev \\\
|
||||||
|
libavutil-dev \\\
|
||||||
|
libavcodec-dev \\\
|
||||||
|
libavformat-dev \\\
|
||||||
|
libswscale-dev \\\
|
||||||
|
libavresample-devlibavutil-dev \\\
|
||||||
|
libavcodec-dev \\\
|
||||||
|
libavformat-dev \\\
|
||||||
|
libswscale-dev \\\
|
||||||
|
libavresample-dev \\\
|
||||||
|
ffmpeg-dev \\\
|
||||||
|
libtbb2 \\\
|
||||||
|
libssl-dev \\\
|
||||||
|
libva-dev \\\
|
||||||
|
libmfx-dev \\\
|
||||||
|
libgstreamer1.0-dev \\\
|
||||||
|
libgstreamer-plugins-base1.0-dev
|
||||||
|
4. Create build directory and enter into it:
|
||||||
|
> mkdir ~/build-opencv && cd ~/build-opencv
|
||||||
|
5. Compile OpenCV:
|
||||||
|
> cmake -G Ninja \\\
|
||||||
|
-D BUILD_INFO_SKIP_EXTRA_MODULES=ON \\\
|
||||||
|
-D BUILD_EXAMPLES=OFF \\\
|
||||||
|
-D BUILD_JASPER=OFF \\\
|
||||||
|
-D BUILD_JAVA=OFF \\\
|
||||||
|
-D BUILD_JPEG=ON \\\
|
||||||
|
-D BUILD_APPS_LIST=version \\\
|
||||||
|
-D BUILD_opencv_apps=ON \\\
|
||||||
|
-D BUILD_opencv_java=OFF \\\
|
||||||
|
-D BUILD_OPENEXR=OFF \\\
|
||||||
|
-D BUILD_PNG=ON \\\
|
||||||
|
-D BUILD_TBB=OFF \\\
|
||||||
|
-D BUILD_WEBP=OFF \\\
|
||||||
|
-D BUILD_ZLIB=ON \\\
|
||||||
|
-D WITH_1394=OFF \\\
|
||||||
|
-D WITH_CUDA=OFF \\\
|
||||||
|
-D WITH_EIGEN=OFF \\\
|
||||||
|
-D WITH_GPHOTO2=OFF \\\
|
||||||
|
-D WITH_GSTREAMER=ON \\\
|
||||||
|
-D OPENCV_GAPI_GSTREAMER=OFF \\\
|
||||||
|
-D WITH_GTK_2_X=OFF \\\
|
||||||
|
-D WITH_IPP=ON \\\
|
||||||
|
-D WITH_JASPER=OFF \\\
|
||||||
|
-D WITH_LAPACK=OFF \\\
|
||||||
|
-D WITH_MATLAB=OFF \\\
|
||||||
|
-D WITH_MFX=ON \\\
|
||||||
|
-D WITH_OPENCLAMDBLAS=OFF \\\
|
||||||
|
-D WITH_OPENCLAMDFFT=OFF \\\
|
||||||
|
-D WITH_OPENEXR=OFF \\\
|
||||||
|
-D WITH_OPENJPEG=OFF \\\
|
||||||
|
-D WITH_QUIRC=OFF \\\
|
||||||
|
-D WITH_TBB=OFF \\\
|
||||||
|
-D WITH_TIFF=OFF \\\
|
||||||
|
-D WITH_VTK=OFF \\\
|
||||||
|
-D WITH_WEBP=OFF \\\
|
||||||
|
-D CMAKE_USE_RELATIVE_PATHS=ON \\\
|
||||||
|
-D CMAKE_SKIP_INSTALL_RPATH=ON \\\
|
||||||
|
-D ENABLE_BUILD_HARDENING=ON \\\
|
||||||
|
-D ENABLE_CONFIG_VERIFICATION=ON \\\
|
||||||
|
-D ENABLE_PRECOMPILED_HEADERS=OFF \\\
|
||||||
|
-D ENABLE_CXX11=ON \\\
|
||||||
|
-D INSTALL_PDB=ON \\\
|
||||||
|
-D INSTALL_TESTS=ON \\\
|
||||||
|
-D INSTALL_C_EXAMPLES=ON \\\
|
||||||
|
-D INSTALL_PYTHON_EXAMPLES=ON \\\
|
||||||
|
-D CMAKE_INSTALL_PREFIX=install \\\
|
||||||
|
-D OPENCV_SKIP_PKGCONFIG_GENERATION=ON \\\
|
||||||
|
-D OPENCV_SKIP_PYTHON_LOADER=OFF \\\
|
||||||
|
-D OPENCV_SKIP_CMAKE_ROOT_CONFIG=ON \\\
|
||||||
|
-D OPENCV_GENERATE_SETUPVARS=OFF \\\
|
||||||
|
-D OPENCV_BIN_INSTALL_PATH=bin \\\
|
||||||
|
-D OPENCV_INCLUDE_INSTALL_PATH=include \\\
|
||||||
|
-D OPENCV_LIB_INSTALL_PATH=lib \\\
|
||||||
|
-D OPENCV_CONFIG_INSTALL_PATH=cmake \\\
|
||||||
|
-D OPENCV_3P_LIB_INSTALL_PATH=3rdparty \\\
|
||||||
|
-D OPENCV_SAMPLES_SRC_INSTALL_PATH=samples \\\
|
||||||
|
-D OPENCV_DOC_INSTALL_PATH=doc \\\
|
||||||
|
-D OPENCV_OTHER_INSTALL_PATH=etc \\\
|
||||||
|
-D OPENCV_LICENSES_INSTALL_PATH=etc/licenses \\\
|
||||||
|
-D OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=ON \\\
|
||||||
|
-D BUILD_opencv_world=OFF \\\
|
||||||
|
-D BUILD_opencv_python2=OFF \\\
|
||||||
|
-D BUILD_opencv_python3=ON \\\
|
||||||
|
-D PYTHON3_PACKAGES_PATH=install/python/python3 \\\
|
||||||
|
-D PYTHON3_LIMITED_API=ON \\\
|
||||||
|
-D HIGHGUI_PLUGIN_LIST=all \\\
|
||||||
|
-D OPENCV_PYTHON_INSTALL_PATH=python \\\
|
||||||
|
-D CPU_BASELINE=SSE2 \\\
|
||||||
|
-D OPENCV_IPP_GAUSSIAN_BLUR=ON \\\
|
||||||
|
-D WITH_INF_ENGINE=ON \\\
|
||||||
|
-D InferenceEngine_DIR=<OpenVINO_ROOT_DIRECTORY>/runtime/cmake/ \\\
|
||||||
|
-D ngraph_DIR=<OpenVINO_ROOT_DIRECTORY>/runtime/cmake/ \\\
|
||||||
|
-D INF_ENGINE_RELEASE=2022010000 \\\
|
||||||
|
-D VIDEOIO_PLUGIN_LIST=ffmpeg,gstreamer,mfx \\\
|
||||||
|
-D CMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \\\
|
||||||
|
-D CMAKE_BUILD_TYPE=Release <OpenCV_ROOT_REPO_DIRECTORY> && \\\
|
||||||
|
ninja
|
||||||
|
|
||||||
|
OpenCV package is available at ~/build-opencv directory.
|
||||||
|
To compile application that uses OpenCV, the following environment variables should be specified:
|
||||||
|
> export OpenCV_DIR="\~/build-opencv/cmake" \
|
||||||
|
> export LD_LIBRARY_PATH="\~/build-opencv/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \
|
||||||
|
> export PYTHONPATH="~/build-opencv/python_loader${PYTHONPATH:+:$PYTHONPATH}"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user