mirror of
https://github.com/opencv/opencv.git
synced 2024-11-30 22:40:17 +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