支持openvino的opencv源码编译

目录

Windows 7环境下安装

1 下载并安装OpenVINO

1-1 下载OpenVINO

1-2 开始安装 

1-3、安装完成

2、opencv 安装编译

2-1 下载opencv4.1.1

2-2 cmake下载安装

2-3 编译opencv 

3 opencv 配置openvino 编译

3-1 debug模式: 

3-2 Release模式:

4、测试:

4-1、使用 DNN_BACKEND_OPENCV backend;

4-2、使用DNN_BACKEND_INFERENCE_ENGINE backend,



OpenVINO是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。 支持在Windows与Linux系统,Python/C++语言。

Opencv4.0 以上dnn模块添加了对Intel's Inference Engine的支持,可以通过OpenVINO对计算进行加速。

  opencv4.1.1 Backend 定义:

 enum Backend
    {
        //! DNN_BACKEND_DEFAULT equals to DNN_BACKEND_INFERENCE_ENGINE if
        //! OpenCV is built with Intel's Inference Engine library or
        //! DNN_BACKEND_OPENCV otherwise.
        DNN_BACKEND_DEFAULT,
        DNN_BACKEND_HALIDE,
        DNN_BACKEND_INFERENCE_ENGINE,  //!< Intel's Inference Engine computational backend.
        DNN_BACKEND_OPENCV,
        DNN_BACKEND_VKCOM
    };

本文是在Windows 7环境下安装及测试

1 下载并安装OpenVINO

1-1 下载OpenVINO

下载地址:https://software.seek.intel.com/openvino-toolkit?os=windows
此过程需要用户注册。

1-2 开始安装 

双击下载好的OpenVINO开始安装

选择安装内容,可以全选默认,Inference Engine里是不同硬件加速选项,我这里安装主要使用对CPU加速的部分。

1-3、安装完成

安装软件在,C:\Program Files (x86)\IntelSWTools\openvino_2019.2.275下

 

2、opencv 安装编译

2-1 下载opencv4.1.1

双击,选择解压路径

解压等待完成

2-2 cmake下载安装

可以在https://cmake.org/download/网址选择下载版本

选择cmake-3.15.1-win64-x64.msi下载,按照提示安装。

2-3 编译opencv 

打开cmake-gui.exe,选择源码路径和生成二进制路径,然后点一下config按钮,

等待结束后,在Search框查找world, 将BUILD_opencv_world选项勾选,将会将所有动态库整合为一个。

再次点击“Configure”按钮

等红色条目没有的时候,依次点击“Generate”,“Open Project”按钮,用VS2015打开。

3 opencv 配置openvino 编译

选择opencv_world工程,右键属性

做如下更改:

3-1 debug模式: 

1、VC++ 目录->包含目录 添加: C:\Program Files (x86)\IntelSWTools\openvino_2019.2.275\deployment_tools\inference_engine\include

2、VC++ 目录 -> 库目录添加: C:\Program Files (x86)\IntelSWTools\openvino_2019.2.275\deployment_tools\inference_engine\lib\intel64\Debug

3、C/C++ -> 预处理器 -> 预处理器定义 中 添加: HAVE_INF_ENGINE

4、链接器->输入->附加依赖项 中添加: inference_engined.lib

5、在文件op_inf_engine.cpp中添加   HAVE_INF_ENGINE定义

#ifndef HAVE_INF_ENGINE
#define HAVE_INF_ENGINE
#endif // !HAVE_INF_ENGINE

将 op_inf_engine.hpp文件内的  #warning("IE version have not been provided via command-line. Using 2018R4 by default") 行注释掉:

#ifndef INF_ENGINE_RELEASE
//#warning("IE version have not been provided via command-line. Using 2018R4 by default")
#define INF_ENGINE_RELEASE INF_ENGINE_RELEASE_2018R4
#endif

修改完成后 编译。

3-2 Release模式:

1,3,5和Debug模式相同,2,4改动如下:

 2、VC++ 目录 -> 库目录添加: C:\Program Files (x86)\IntelSWTools\openvino_2019.2.275\deployment_tools\inference_engine\lib\intel64\Release

4、链接器->输入->附加依赖项 中添加: inference_engine.lib

 

4、测试:

使用opencv自带的object_detection.cpp进行测试,用tesorflow的ssd_mobilenet_v2模型,Release模式下,

4-1、使用 DNN_BACKEND_OPENCV backend;

Net net = readNetFromTensorflow(modelPath, configPath);
net.setPreferableBackend(DNN_BACKEND_OPENCV);
net.setPreferableTarget(DNN_TARGET_CPU);

4-2、使用DNN_BACKEND_INFERENCE_ENGINE backend,

	Net net = readNetFromTensorflow(modelPath, configPath);
	net.setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE);
	net.setPreferableTarget(DNN_TARGET_CPU);

对比DNN_BACKEND_OPENCV和DNN_BACKEND_INFERENCE_ENGINE,每帧检测时间从 70~80mm缩减到了15~25mm,速度提升了3倍多,

网上看到有检测速度从80mm缩减到40mm, 加速性能可能和具体cpu型号有关系。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
您好!要编译OpenCV的源代码,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机上已经安装了CMake(版本3.12或更高版本)和编译器(如GCC或Clang)。 2. 下载OpenCV源代码。您可以从OpenCV的官方网站(https://opencv.org/releases/)上下载最新版本的源代码,也可以从GitHub上克隆源代码仓库。 3. 创建一个新的目录,用于构建OpenCV。在该目录中,创建一个名为"build"的子目录,用于存放编译生成的文件。 4. 打开终端或命令提示符,并导航到"build"目录。 5. 运行CMake来配置构建过程。可以使用以下命令: ``` cmake <path_to_opencv_source> ``` 在这里,"<path_to_opencv_source>"是指OpenCV源代码的路径。如果您将OpenCV源代码放在当前工作目录中,则可以使用"."表示当前目录。 您还可以使用一些可选的参数来自定义构建过程,例如指定安装目录、启用/禁用某些模块等。有关更多信息,请参阅OpenCV文档中的相关章节。 6. 完成配置后,运行以下命令开始编译: ``` cmake --build . ``` 7. 编译过程可能需要一些时间,具体取决于您的计算机性能和OpenCV源代码的大小。一旦编译完成,您将在"build"目录中找到生成的库文件和可执行文件。 请注意,这只是一个简单的编译过程示例。根据您的操作系统、构建选项和需求,可能会有其他设置和步骤。因此,在开始编译之前,我建议您阅读OpenCV的官方文档,以了解更多详细信息和指导。 希望这能帮助到您!如有任何进一步的问题,请随时问我。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜡笔小心点

你的鼓励是我创造的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值