从源码编译适配OpenVINO的OpenCV(Contrib)
由于OPENVINO 2018 R2及后续版本都自带了OpenCV,然而其自带的OpenCV并不包含Contrib模块,所以在开发中如果我们需要同时使用Conrtib和OpenVINO时就需要自己手动从源码进行编译。
下载源码
这里需要注意以下两点:
- 下载的OpenCV与Contrib模块的版本需要严格对应
- OpenCV需要下载带OpenVINO后缀的版本
Cmake编译
这里以如下版本为例
- OpenVINO 2021.4.582
- OpenCV 4.5.3
- OpenCV Contrib 4.5.3
cmake-gui
将source设置成下载的OpenCV源码路径,build设置成OpenCV源码路径中新建的build文件夹路径后,设置OPENCV_EXTRA_MODULES_PATH为Opencv Contrib路径下的modules文件夹。
将InferenceEngine_DIR选项中的路径设置为/opt/intel/OpenVINO 文件夹 /deployment_tools /inference_engine /share。
点击Generate后,在build文件夹下执行
make -j6
sudo make install
Cmake 链接
cmake_minimum_required(VERSION 3.10)
project(Project LANGUAGES C CXX)
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)
target_link_libraries(main
${OpenCV_LIBS}
${InferenceEngine_LIBRARIES}
)
注意:
-
如果系统中安装有多个版本的OpenCV,则需要特别指定上述下载的OpenCV的路径
# 这里由于电脑下载了多个版本的opencv,所以特别指定 set(OpenCV_DIR "/home/mini/文档/opencv-4.5.3-openvino-2021.4.2/build")
-
如果系统查找不到InferenceEngine依赖,则设置对应OpenVINO推理引擎的路径
set(InferenceEngine_DIR "/opt/intel/openvino_2021.4.582/inference_engine/share")
参考
后续
喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!