0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Windows中基于Visual Studio配置OpenVINO C++开发环境

英特尔物联网 ? 来源:英特尔物联网 ? 2023-01-12 15:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文主要介绍在 Windows 中基于 Visual Studio 配置 OpenVINO C++ 开发环境,主要步骤有:

  1. 下载并安装 Visual Studio Community 版

  2. 下载并解压 OpenVINO Runtime

  3. 下载并解压 OpenCV

  4. 在 Visual Studio 中配置项目属性

  5. 运行 OpenVINO C++ 范例程序,测试开发环境

下面,本文将依次详述。

1.1下载并安装 Visual Studio Community 版

Microsoft Visual Studio(简称VS)是 Windows 平台上非常好用的集成开发环境(IDE),其 Community 版本免费供学生、开放源代码参与者和个人使用。

从下方地址下载 Visual Studio 2022 Community 版,安装选项如图 1-1 所示:

https://visualstudio.microsoft.com/zh-hans/downloads/

518450e6-9244-11ed-bfe3-dac502259ad0.png

图 1-1 Visual Studio 2022安装选项

1.2 下载并解压 OpenVINO Runtime

OpenVINO Runtime 2022.3 以压缩包(OpenVINO Archives)的形式提供,里面包含了开发 OpenVINO C++ 推理程序所必需的文件,如图 1-2 所示:

  • C++预处理器所需的头文件:include文件夹

  • C++链接器所需的lib文件:lib文件夹

  • 可执行文件(*.exe)所需的动态链接库文件:bin文件夹

  • OpenVINO runtime第三方依赖库文件:3rdparty文件夹

51c8089a-9244-11ed-bfe3-dac502259ad0.png

图 1-2 开发 OpenVINO C++ 推理程序所必需的文件

首先,请读者先打开下面的链接,下载 OpenVINO Runtime 2022.3 压缩包:

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html

然后,请读者手动新建 C:Program Files (x86)Intelopenvino_2022.3.0 文件夹,并把压缩包解压后的文件拷贝到 openvino_2022.3.0 文件夹中,完成OpenVINO Runtime 压缩包的下载和解压工作,如图 1-3 所示。

51eb31ee-9244-11ed-bfe3-dac502259ad0.png

图 1-3 下载并解压 OpenVINO Runtime 压缩包

1.3 下载并解压 OpenCV

在端到端的 AI 推理计算流程中,OpenCV 库用于实现图像载入、数据前处理、推理结果后处理和数据可视化,如图1-4 所示。

520d59f4-9244-11ed-bfe3-dac502259ad0.png

图 1-4 端到端的 AI 推理计算流程

OpenCV 也是以压缩包的形式提供,从下方地址下载 Windows 平台上的压缩包:

https://opencv.org/releases/

首先,手动新建 C:opencv 文件夹;然后,把 OpenCV 解压后的 build 文件夹全部拷贝到 C:opencv 文件夹,如图 1-5 所示,完成 OpenCV 的下载并解压。

5246649c-9244-11ed-bfe3-dac502259ad0.png

图 1-5 下载并解压 OpenCV

1.4 在 Visual Studio 中配置项目属性

在 Visual Studio 中配置项目属性,主要是告诉 C++ 编译器和链接器,OpenVINO 和 OpenCV 的头文件以及库文件在哪里。

第一步,打开 Visual Studio 2022 Community,在“文件(F)”菜单中选择“新建(N)→项目(P)”,新建一个 C++ 空项目。

52698a76-9244-11ed-bfe3-dac502259ad0.png

第二步,在“文件(F)菜单”中选择“新建(N)→文件(F)”,新建一个 main.cpp 文件,并添加到项目管理器的源文件文件夹中。

52a24992-9244-11ed-bfe3-dac502259ad0.png

第三步,在“解决方案资源管理器”中,右键单击项目名称,在右键菜单中选择“属性(R)”,启动“属性页”对话框。

  • 在“配置(C)”栏选择“所有配置”,在“平台(P)”栏选择“所有平台”;

  • 在“输出目录”输入

    “$(SolutionDir)bin$(Platform)$(Configuration)”;

  • 在“中间目录”输入

    “$(SolutionDir)Intermediate$(Platform)$(Configuration)”

52c3b1ea-9244-11ed-bfe3-dac502259ad0.png

第四步,在“属性页”对话框中选中“C/C++→常规”;在“平台(P)”栏选择“x64”;在“附加包含目录”中输入:

  • C:Program Files (x86)Intelopenvino_2022.3.0 untimeinclude

  • C:opencvuildinclude

52db0048-9244-11ed-bfe3-dac502259ad0.png

第五步,在“属性页”对话框中选中“链接器→常规”;在“平台(P)”栏选择“x64”;在“附加库目录”中输入:

  • C:Program Files (x86)Intelopenvino_2022.3.0 untimelibintel64$(Configuration)

  • C:opencvuildx64vc16lib

52f74e4c-9244-11ed-bfe3-dac502259ad0.png

第六步,在“属性页”对话框中选中“链接器→输入”,在“配置(C)”栏选择“Debug”,在“平台(P)”栏选择“x64”,然后在“附加依赖项”中添加:

  • openvinod.lib;opencv_world470d.lib;

  • 将“配置(C)”栏改为“Release”,然后在“附加依赖项”中添加:

  • openvino.lib;opencv_world470.lib;

53275db2-9244-11ed-bfe3-dac502259ad0.png

到此,完成在 Visual Studio 中配置 OpenVINO C++ 推理计算项目属性。

1.5 运行 OpenVINO C++ 范例程序

测试开发环境

首先,请将下面的代码拷贝到 main.cpp 中,源代码下载地址:

https://gitee.com/ppov-nuc/yolov5_infer/blob/main/test_ov_opencv.cpp

#include 
#include 
#include  //openvino header file
#include   //opencv header file
int main(int argc, char* argv[]) {
  // -------- Get OpenVINO runtime version --------
  std::cout << ov::get_openvino_version().description << ':' << ov::get_openvino_version().buildNumber << std::endl;
  // -------- Step 1. Initialize OpenVINO Runtime Core --------
  ov::Core core;
  // -------- Step 2. Get list of available devices --------
  std::vector<std::string> availableDevices = core.get_available_devices();
  // -------- Step 3. Query and print supported metrics and config keys --------
  std::cout << "Available devices: " << std::endl;
  for (auto&& device : availableDevices) {
    std::cout << device << std::endl;
  }
  // -------- Step 4. Read a picture file and show by OpenCV --------
  cv::Mat img = cv::imread("zidane.jpg"); //Load a picture into memory
  cv::imshow("Test OpenVINO & OpenCV IDE", img);
  std::cout << "Image width: " << img.cols << " height: " << img.rows << std::endl;
  cv::waitKey(0);
  cv::destroyAllWindows();
  return 0;
}

然后,将 OpenCV 和 OpenVINO动态链接库所在的位置,添加到path环境变量中。

  • C :Program Files(x86)Intelopenvino_2022 .3.0 untimeinintel64Release

  • C :Program Files(x86)Intelopenvino_2022 .3.0 untimeinintel64Debug

  • C :Program Files(x86)Intelopenvino_2022 .3.0 untime3rdparty bbin

  • C :opencvuildx64vc16in

5348caec-9244-11ed-bfe3-dac502259ad0.png

最后,编译并运行上述代码,结果如下图所示:

5384d136-9244-11ed-bfe3-dac502259ad0.png

1.6 总结

本文详述了从零开始在 Windows 上基于 Visual Studio 配置开发 OpenVINO C++ 推理程序的全过程,并给出了完整的测试程序代码 test_ov_opencv.cpp。环境配置成功后,就可以开始用 C++ 编写 OpenVINO 推理程序了。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    22

    文章

    2119

    浏览量

    75524
  • Visual
    +关注

    关注

    0

    文章

    255

    浏览量

    34907
  • Microsoft
    +关注

    关注

    0

    文章

    225

    浏览量

    7345

原文标题:在Windows中基于Visual Studio配置OpenVINO C++开发环境 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【沁恒CH585开发板免费试用体验】CH585开发环境搭建(二)

    3 基于VS Code开发 3.1 GCC编译工具安装 1.编译工具简介 编译代码需要编译器,Linux系统的编译器是GCC,而WindowsC/C++编译器是Microsoft
    发表于 07-03 23:12

    请问是否可以通用Windows平台中构建OpenVINO? GenAI C++ 应用程序?

    无法通用 Windows 平台中构建OpenVINO? GenAI C++ 应用程序
    发表于 06-24 07:35

    OpenVINO? C++代码启用 AddressSanitizer 时的内存泄漏怎么解决?

    OpenVINO? C++代码启用 AddressSanitizer 时遇到内存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    发表于 06-23 07:16

    e?studio和Keil简介及如何安装e?studio开发环境

    (简称为e2或e2s)是瑞萨电子的一款包含代码开发、构建和调试的开发工具。e?studio基于开源EclipseIDE和与之相关的C/C++
    的头像 发表于 03-13 17:27 ?1393次阅读
    e?<b class='flag-5'>studio</b>和Keil简介及如何安装e?<b class='flag-5'>studio</b><b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    Visual Studio中使用OpenVINO? C API时无法读取网络怎么解决?

    使用 OpenVINO C API 加载中间表示 (IR),方法是引用Hello 分类 C 样本。 使用ie_infer_request_set_blob 时收到的状态为 -1(一般错误)。
    发表于 03-07 07:01

    创建了用于OpenVINO?推理的自定义C++和Python代码,从C++代码获得的结果与Python代码不同是为什么?

    创建了用于OpenVINO?推理的自定义 C++ 和 Python* 代码。 两个推理过程中使用相同的图像和模型。 从 C++ 代码
    发表于 03-06 06:22

    Windows上安装OpenVINO?运行时遇到错误怎么解决?

    已在 Windows* 上安装OpenVINO?运行时。 配置环境变量。 遇到错误: Location is not available.
    发表于 03-05 09:13

    Visual Studio运行Hello分类样本 ,仅在Visual Studio输出收到错误消息,怎么解决?

    Visual Studio* 运行 Hello 分类样本 ,仅在 Visual Studio
    发表于 03-05 08:16

    为什么无法在运行时C++推理读取OpenVINO?模型?

    使用模型优化器 2021.1 版OpenVINO?转换模型 使用 Runtime 2022.3 版本 C++ 推理实现 ( core.read_model()) 读取模型
    发表于 03-05 06:17

    源代码加密、源代码防泄漏c/c++与git服务器开发环境

    源代码加密对于很多研发性单位来说是至关重要的,当然每家企业的业务需求不同所用的开发环境开发语言也不尽相同,今天主要来讲一下c++及git开发
    的头像 发表于 02-12 15:26 ?576次阅读
    源代码加密、源代码防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>与git服务器<b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    使用OpenVINO?条件编译功能,压缩Windows应用体积

    来看下如何在 Windows 操作系统上实现这一功能。 1. 环境安装与配置 第一步,我们需要确保已经 Windows 上安装了
    的头像 发表于 01-13 10:26 ?585次阅读
    使用<b class='flag-5'>OpenVINO</b>?条件编译功能,压缩<b class='flag-5'>Windows</b>应用体积

    Vector推出一套基于Visual Studio Code的免费插件

    汽车软件开发过程中,除使用MATLAB开发算法外,专业开发者也偏向使用Visual Studio
    的头像 发表于 11-24 14:15 ?2199次阅读
    Vector推出一套基于<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code的免费插件

    使用OpenVINO GenAI APIC++构建AI应用程序

    许多桌面应用程序是使用 C++ 开发的,而将生成式AI(GenAI)功能集成到这些应用程序可能会很具有挑战性,尤其是因为使用像 Hugging Face 这样的 Python 库的复杂性。C
    的头像 发表于 10-12 09:36 ?1189次阅读
    使用<b class='flag-5'>OpenVINO</b> GenAI API<b class='flag-5'>在</b><b class='flag-5'>C++</b><b class='flag-5'>中</b>构建AI应用程序

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-开发环境搭建之VScode的安装及使用

    (Simplified) Language Pack for Visual Studio Code:中文语音包 Code Runner:语音运行环境 Remote - SSH:远程服务协议 Compareit:文件对比
    发表于 10-09 15:44

    飞凌嵌入式ElfBoard ELF 1板卡-开发环境搭建之VScode的安装及使用

    for Visual Studio Code:中文语音包Code Runner:语音运行环境Remote - SSH:远程服务协议Compareit:文件对比插件Document This:快速注释
    发表于 09-30 09:40