当前位置:   article > 正文

深度学习部署·OpenVINO Toolkit——OpenCV-contrib及contrib模块编译安装与CMake链接_cmakelists 添加openvino

cmakelists 添加openvino

OpenVINO™ Toolkit——OpenCV与contrib模块编译安装以及CMake链接


​ 由于OpenVINO 2018 R2及后续版本都自带了OpenCV,在开发时不做特殊说明,都会默认链接OpenVINO自带的OpenCV。然而其自带的OpenCV并不包含Contrib模块,如果需要同时使用OpenCV-contrib模块时,就需要自己手动编译Opencv源码并指定依赖。
本文也将Ubuntu下OpenCV及其contrib模块的安装与简单链接流程详细地记录下来。

下载

  1. OpenCV

  2. OpenCV Contrib

gitee镜像 (推荐):

  1. OpenCV镜像

  2. OpenCV-contrib镜像

需注意:

  • 下载的OpenCV与contrib模块的版本需要严格对应(否则编译源码时会报错)

  • OpenCV需要下载带OpenVINO后缀的版本

  • 下载对应的ZIP文件
    请添加图片描述
    请添加图片描述

未装过OpenCV的同学,运行如下命令安装相关依赖项:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
  • 1
  • 2
  • 3

cmake-gui配置

由于安装opencv的openvino版本有很多配置选项,因此推荐使用cmake-gui配置

若没有cmake-gui运行如下命令安装cmake-gui:

sudo apt-get install cmake-qt-gui
  • 1

在下载opencv库的源码路径(最外层CMakeLists.txt所在位置)新建build文件夹,然后在该处打开cmake-gui

cmake-gui .
  • 1
  • 编译路径(Where to build the binaries) 选择build文件夹

  • generater默认即可
    在这里插入图片描述

  • OpenCV-contrib模块配置: 将OPENCV_EXTRA_MODULES_PATH设为OpenCV-contrib中modules文件夹的路径。
    在这里插入图片描述

  • 针对opencv-openvino,需要把WITH_INF_ENGINE的InferenceEngine核心选项勾上
    在这里插入图片描述

  • 配置了WITH_INF_ENGINE后,会出现下列关键配置选项:在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    务必按上述图片配置,否则可能会出现编译报错,或查找、链接不到InferenceEngine及其依赖项ngraph的情况

  • 点击Configure配置,直至没有像上面的红色选项出现为止;然后再点击Generrate

编译

在配置好的build路径:

#检测电脑的核心数并减去1赋值给core
core="$(nproc)" && ((core=$core-1))
#以比核心数1的线程数去编译
make -j$core
#安装编译出来的库至/usr/local/bin中
sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

本人电脑是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 REQUIRED)
find_package(ngraph REQUIRED)

#目标链接Opencv库和OpenVINO
target_link_libraries(target_name
        ${OpenCV_LIBS}
        ${InferenceEngine_LIBRARIES}
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

指定OpenCV及InferEngine路径

如果装了openvino,cmake会默认链接openvino自带的opencv,若需要使用contrib模块,则需在CMakeLists.txt手动设置OpenCV_DIR为编译库的路径:

set(OpenCV_DIR "<Source_DIR>/opencv-4.5.3-openvino-2021.4.1/build")
  • 1

若系统找不到InferenceEngine路径,则手动设置:

set(InferenceEngine_DIR "/opt/intel/openvino_2021.4.582/inference_engine/share")
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/822517
推荐阅读
相关标签
  

闽ICP备14008679号