[计算机视觉·深度学习]OpenVINO? Toolkit——OpenCV-contrib模块编译安装及CMake链接
? 由于OpenVINO 2018 R2及后续版本都自带了OpenCV,在开发时不做特殊说明,都会默认链接OpenVINO自带的OpenCV。然而其自带的OpenCV并不包含Contrib模块,如果、需要同时使用OpenCV-contrib模块时,就需要自己手动编译Opencv源码并指定依赖
OpenCV及contrib模块源码编译
下载
-
OpenCV -
OpenCV Contrib
gitee镜像 (推荐):
-
OpenCV镜像 -
OpenCV-contrib镜像
需注意:
cmake-gui配置
对于不熟悉C、C++的人来说,建议安装cmake-gui进行可视化编译会少很多麻烦
运行如下命令安装:
sudo apt-get install cmake-qt-gui
在下载opencv库的源码路径(最外层CMakeLists.txt所在位置)新建build文件夹,然后在该处打开cmake-gui
cmake-gui .
命令行配置
在下载好的OpenCV库的源码路径:
mkdir build && cd build
cmake .. -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=<contrib_path>/modules/
编译
在配置好的build路径:
make -j7
sudo make install
本人电脑是8核的,因此编译时设置为7个线程同时编译-j7 ,以加快编译速度(比电脑核心数少一个即可)
CMake链接
cmake_minimum_required(VERSION 3.10)
project(project_name)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
SET(CMAKE_CXX_COMPILER /usr/bin/g++)
set(CMAKE_BUILD_TYPE debug)
# 查找必要的依赖包
find_package(OpenCV 4 REQUIRED)
find_package(InferenceEngine)
#目标链接Opencv库和OpenVINO
target_link_libraries(target_name
${OpenCV_LIBS}
${InferenceEngine_LIBRARIES}
)
指定OpenCV及InferEngine路径
如果装了openvino,cmake会默认链接openvino自带的opencv,若需要使用contrib模块,则需在CMakeLists.txt手动设置OpenCV_DIR为编译库的路径:
set(OpenCV_DIR "<downloat_path>/opencv-4.5.3-openvino-2021.4.1/build")
若系统找不到InferenceEngine路径,则手动设置:
set(InferenceEngine_DIR "/opt/intel/openvino_2021.4.582/inference_engine/share")
|