RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Windows中基于Visual Studio配置OpenVINO C++開發(fā)環(huán)境

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-01-12 15:44 ? 次閱讀

本文主要介紹在 Windows 中基于 Visual Studio 配置 OpenVINO C++ 開發(fā)環(huán)境,主要步驟有:

  1. 下載并安裝 Visual Studio Community 版

  2. 下載并解壓 OpenVINO Runtime

  3. 下載并解壓 OpenCV

  4. 在 Visual Studio 中配置項目屬性

  5. 運行 OpenVINO C++ 范例程序,測試開發(fā)環(huán)境

下面,本文將依次詳述。

1.1下載并安裝 Visual Studio Community 版

Microsoft Visual Studio(簡稱VS)是 Windows 平臺上非常好用的集成開發(fā)環(huán)境(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)的形式提供,里面包含了開發(fā) OpenVINO C++ 推理程序所必需的文件,如圖 1-2 所示:

  • C++預處理器所需的頭文件:include文件夾

  • C++鏈接器所需的lib文件:lib文件夾

  • 可執(zhí)行文件(*.exe)所需的動態(tài)鏈接庫文件:bin文件夾

  • OpenVINO runtime第三方依賴庫文件:3rdparty文件夾

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

圖 1-2 開發(fā) 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 庫用于實現(xiàn)圖像載入、數(shù)據(jù)前處理、推理結果后處理和數(shù)據(jù)可視化,如圖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++→常規(guī)”;在“平臺(P)”欄選擇“x64”;在“附加包含目錄”中輸入:

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

  • C:opencvuildinclude

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

第五步,在“屬性頁”對話框中選中“鏈接器→常規(guī)”;在“平臺(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++ 范例程序

測試開發(fā)環(huán)境

首先,請將下面的代碼拷貝到 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動態(tài)鏈接庫所在的位置,添加到path環(huán)境變量中。

  • 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 配置開發(fā) OpenVINO C++ 推理程序的全過程,并給出了完整的測試程序代碼 test_ov_opencv.cpp。環(huán)境配置成功后,就可以開始用 C++ 編寫 OpenVINO 推理程序了。


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73618
  • Visual
    +關注

    關注

    0

    文章

    252

    瀏覽量

    34251
  • Microsoft
    +關注

    關注

    0

    文章

    214

    瀏覽量

    6849

原文標題:在Windows中基于Visual Studio配置OpenVINO C++開發(fā)環(huán)境 | 開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    汽車軟件開發(fā)過程中,除使用MATLAB開發(fā)算法外,專業(yè)開發(fā)者也偏向使用Visual Studio
    的頭像 發(fā)表于 11-24 14:15 ?334次閱讀
    Vector推出一套基于<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code的免費插件

    使用OpenVINO Model Server在哪吒開發(fā)板上部署模型

    OpenVINO Model Server(OVMS)是一個高性能的模型部署系統(tǒng),使用C++實現(xiàn),并在Intel架構上的部署進行了優(yōu)化,使用OpenVINO 進行推理,推理服務通過gPRC或REST
    的頭像 發(fā)表于 11-01 14:19 ?272次閱讀
    使用<b class='flag-5'>OpenVINO</b> Model Server在哪吒<b class='flag-5'>開發(fā)</b>板上部署模型

    使用OpenVINO GenAI APIC++構建AI應用程序

    許多桌面應用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應用程序可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復雜性。C
    的頭像 發(fā)表于 10-12 09:36 ?366次閱讀
    使用<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板卡-開發(fā)環(huán)境搭建之VScode的安裝及使用

    (Simplified) Language Pack for Visual Studio Code:中文語音包 Code Runner:語音運行環(huán)境 Remote - SSH:遠程服務協(xié)議 Compareit:文件對比
    發(fā)表于 10-09 15:44

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之VScode的安裝及使用

    for Visual Studio Code:中文語音包Code Runner:語音運行環(huán)境Remote - SSH:遠程服務協(xié)議Compareit:文件對比插件Document This:快速注釋
    發(fā)表于 09-30 09:40

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近
    的頭像 發(fā)表于 07-26 09:20 ?873次閱讀

    求助,用visual studio 2017開發(fā)esp32的問題求解

    各位好,esp32開發(fā)我這邊用的是visual studio 2017+visual的形式,我在打開工程樣例文件后,編譯通過并成功燒錄,但是右擊“source Files”文件夾想添加
    發(fā)表于 06-25 07:07

    HarmonyOS開發(fā):【基于命令行(開發(fā)環(huán)境)】

    嵌入式開發(fā),很多開發(fā)者習慣于使用Windows進行代碼的編輯,比如使用Windows
    的頭像 發(fā)表于 04-25 17:54 ?1250次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>:【基于命令行(<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>)】

    STM32CubeMX如何在*.c源文件中使用c++特性?

    開發(fā)環(huán)境Visual Studio 2015 + VisualGDB (編譯器為arm-eabi GCC 7.2.0)+ STM32CubeMX
    發(fā)表于 04-25 06:15

    鴻蒙開發(fā)實例:【配置OpenHarmony SDK】

    設置OpenHarmony應用開發(fā)環(huán)境時,需要開發(fā)DevEco Studio
    的頭像 發(fā)表于 04-22 15:24 ?1962次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>實例:【<b class='flag-5'>配置</b>OpenHarmony SDK】

    鴻蒙OpenHarmony【搭建Ubuntu環(huán)境

    嵌入式開發(fā),很多開發(fā)者習慣于使用Windows進行代碼的編輯,比如使用Windows
    的頭像 發(fā)表于 04-19 16:53 ?1272次閱讀
    鴻蒙OpenHarmony【搭建Ubuntu<b class='flag-5'>環(huán)境</b>】

    鴻蒙OpenHarmony【搭建Windows環(huán)境

    嵌入式開發(fā),很多開發(fā)者習慣于使用Windows進行代碼的編輯,比如使用Windows
    的頭像 發(fā)表于 04-19 15:42 ?597次閱讀
    鴻蒙OpenHarmony【搭建<b class='flag-5'>Windows</b><b class='flag-5'>環(huán)境</b>】

    鴻蒙OS開發(fā)實例:【Native C++

    使用DevEco Studio創(chuàng)建一個Native C++應用。應用采用Native C++模板,實現(xiàn)使用NAPI調用C標準庫的功能。使用C
    的頭像 發(fā)表于 04-14 11:43 ?2591次閱讀
    鴻蒙OS<b class='flag-5'>開發(fā)</b>實例:【Native <b class='flag-5'>C++</b>】

    用Cubeprogrammer的API串口,Visual Studio環(huán)境設置按說明書配置的,編譯有錯誤的原因?

    用Cubeprogrammer的API 串口,Visual Studio環(huán)境設置按說明書配置的,編譯還是有錯誤,有知道問題的嗎?
    發(fā)表于 03-29 08:46

    Simplicity Studio 5擴增功能支持以VS Code開發(fā)

    應用程序開發(fā)的支持。此一功能擴展可讓開發(fā)人員VSCode生態(tài)系統(tǒng)構建、刷新和調試。用戶可以使用VS Code作為主要的IDE,同時仍然能夠使用熟悉和喜愛的項目
    的頭像 發(fā)表于 01-29 10:34 ?954次閱讀
    Simplicity <b class='flag-5'>Studio</b> 5擴增功能支持以VS Code<b class='flag-5'>開發(fā)</b>
    RM新时代网站-首页