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

    文章

    2129

    浏览量

    77375
  • Visual
    +关注

    关注

    0

    文章

    255

    浏览量

    35789
  • Microsoft
    +关注

    关注

    0

    文章

    241

    浏览量

    8069

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AC6966B开发开发准备-环境搭建:Windows下JL杰理AC696N开发环境配置

    做蓝牙音频、音箱或IoT产品的开发,最怕的不是写代码,而是环境配半天跑不起来。JL杰理AC696N这颗芯片在耳机、音箱方案里很常见,性价比高,外设也全,但第一次接触杰理方案时,环境配置
    的头像 发表于 03-28 09:52 384次阅读
    AC6966B<b class='flag-5'>开发</b>板<b class='flag-5'>开发</b>准备-<b class='flag-5'>环境</b>搭建:<b class='flag-5'>Windows</b>下JL杰理AC696N<b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>配置</b>

    使用 Keil Studio for Visual Studio Code开发 STM32 设备

    Keil Studio是 Arm 最新一代的集成开发环境(IDE),将嵌入式开发工具直接集成到了 Visual
    的头像 发表于 03-05 17:41 4173次阅读
    使用 Keil <b class='flag-5'>Studio</b> for <b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code<b class='flag-5'>开发</b> STM32 设备

    RVMCU课堂「5」:手把手教你玩转RV STAR—Nuclei Studio+JLink篇

    ;amp;gt; New -&gt; C/C++ Project”开始新建工程,弹窗双击选择“C Managed Build”;
    发表于 10-31 06:08

    微软Visual Studio 2026 发布!AI 深度融合、性能提升

    与高效开发体验。  ”    微软刚刚放出了一个重磅炸弹: Visual Studio 2026 Insiders 预览版  已经正式发布! 这是一次雄心勃勃的进化,AI 将前所未有地深度融入你的
    的头像 发表于 09-16 11:17 2350次阅读
    微软<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> 2026 发布!AI 深度融合、性能提升

    RT-Thread StudioWindows Arm上RT-Thread Studio Setting配置项页面无法显示怎么解决?

    例如Apple Silicon的MacBook上的Windows 11 Arm版虚拟机,RT-Thread Studio Setting配置项页面无法显示。
    发表于 09-16 06:10

    Android Studio的Gemini全面支持Dart和Flutter开发

    Android Studio 创建 Android 应用的 Flutter 开发者将迎来一次重大的飞跃: Android Studio
    的头像 发表于 08-06 13:52 1521次阅读
    Android <b class='flag-5'>Studio</b><b class='flag-5'>中</b>的Gemini全面支持Dart和Flutter<b class='flag-5'>开发</b>

    【润开鸿HH-SCDAYU800A开发板试用体验】第一個桌面簡單的程序

    DevEco Studio时选择安装 Windows 还需要手动 路径添加到系统环境变量 Path 。 三、常用 HDC 命令与示例 命令 功能 示例 hdc list target
    发表于 07-27 12:09

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

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

    使用英特尔® NPU 插件C++运行应用程序时出现错误:“std::Runtime_error at memory location”怎么解决?

    使用OpenVINO™工具套件版本 2024.4.0 构建C++应用程序 使用英特尔® NPU 插件运行了 C++ 应用程序 遇到的错误: Microsoft C++ excep
    发表于 06-25 08:01

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

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

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

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

    rt-thread studio debug生成了elf &amp;amp; map,为什么不生成反汇编?

    开发crash后dump出了现场,需要通过反汇编文件确定crash的lr & pc,大部分使用rtthread studio环境win
    发表于 06-11 06:42

    如何从 Microsoft Visual C++ 应用程序 (CyAPI.h) 访问 CYUSB3014 芯片组的 i2c 接口?

    1. 如何从 Microsoft Visual C++ 应用程序 (CyAPI.h) 访问 CYUSB3014 芯片组的 i2c 接口? 我定制相机中使用 CYUSB3014。 当我
    发表于 05-19 07:21

    如何在Visual Studio 2022运行FX3吞吐量基准测试工具?

    Visual Studio 2022 运行此工具的步骤吗? 此外,是否有我可能错过的可执行文件(例如在 GitHub 上)? 预先感谢您的帮助!
    发表于 05-13 08:05

    如何将FX3与WSL(Linux 的 Windows 子系统)一起使用?

    如何将 FX3 与 WSL(Linux 的 Windows 子系统)一起使用? 我 /dev/ 找不到任何设备 我有许多项目 Windows
    发表于 05-06 07:11