加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1.1下載并安裝 Visual Studio Community 版
    • 1.2 下載并解壓 OpenVINO Runtime
    • 1.3 下載并解壓 OpenCV
    • 1.5 運(yùn)行 OpenVINO C++ 范例程序
    • 1.6 總結(jié)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

2023/01/13
2739
閱讀需 13 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

文章作者:王一凡

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

下載并安裝 Visual Studio Community 版

下載并解壓 OpenVINO Runtime

下載并解壓 OpenCV

在 Visual Studio 中配置項(xiàng)目屬性

運(yùn)行 OpenVINO C++ 范例程序,測(cè)試開(kāi)發(fā)環(huán)境

下面,本文將依次詳述。

1.1下載并安裝 Visual Studio Community 版

Microsoft Visual Studio(簡(jiǎn)稱(chēng)VS)是 Windows 平臺(tái)上非常好用的集成開(kāi)發(fā)環(huán)境(IDE),其 Community 版本免費(fèi)供學(xué)生、開(kāi)放源代碼參與者和個(gè)人使用。

從下方地址下載 Visual Studio 2022 Community 版,安裝選項(xiàng)如圖 1-1 所示:

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

圖 1-1 ?Visual Studio 2022安裝選項(xiàng)

1.2 下載并解壓 OpenVINO Runtime

OpenVINO? Runtime 2022.3 以壓縮包(OpenVINO Archives)的形式提供,里面包含了開(kāi)發(fā) OpenVINO C++ 推理程序所必需的文件,如圖 1-2 所示:

C++預(yù)處理器所需的頭文件:include文件夾

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

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

OpenVINO runtime第三方依賴(lài)庫(kù)文件:3rdparty文件夾

圖 1-2 ?開(kāi)發(fā) OpenVINO C++ 推理程序所必需的文件

首先,請(qǐng)讀者先打開(kāi)下面的鏈接,下載 OpenVINO?? Runtime 2022.3 壓縮包:

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

然后,請(qǐng)讀者手動(dòng)新建 C:Program Files (x86)Intelopenvino_2022.3.0 文件夾,并把壓縮包解壓后的文件拷貝到 openvino_2022.3.0 文件夾中,完成OpenVINO Runtime 壓縮包的下載和解壓工作,如圖 1-3 所示。

圖 1-3 ?下載并解壓 OpenVINO Runtime 壓縮包

1.3 下載并解壓 OpenCV

在端到端的 AI 推理計(jì)算流程中,OpenCV 庫(kù)用于實(shí)現(xiàn)圖像載入、數(shù)據(jù)前處理、推理結(jié)果后處理和數(shù)據(jù)可視化,如圖1-4 所示。

圖 1-4 ?端到端的 AI 推理計(jì)算流程

OpenCV 也是以壓縮包的形式提供,從下方地址下載? Windows 平臺(tái)上的壓縮包:

https://opencv.org/releases/

首先,手動(dòng)新建 C:opencv 文件夾;然后,把 OpenCV 解壓后的 build 文件夾全部拷貝到 C:opencv 文件夾,如圖 1-5 所示,完成 OpenCV 的下載并解壓。

圖 1-5 ?下載并解壓 OpenCV

1.4 在 Visual Studio 中配置項(xiàng)目屬性

在 Visual Studio 中配置項(xiàng)目屬性,主要是告訴 C++ 編譯器和鏈接器,OpenVINO? 和 OpenCV 的頭文件以及庫(kù)文件在哪里。

第一步,打開(kāi) Visual Studio 2022 Community,在“文件(F)”菜單中選擇“新建(N)→項(xiàng)目(P)”,新建一個(gè) C++ 空項(xiàng)目。

第二步,在“文件(F)菜單”中選擇“新建(N)→文件(F)”,新建一個(gè) main.cpp 文件,并添加到項(xiàng)目管理器的源文件文件夾中。

第三步,在“解決方案資源管理器”中,右鍵單擊項(xiàng)目名稱(chēng),在右鍵菜單中選擇“屬性(R)”,啟動(dòng)“屬性頁(yè)”對(duì)話(huà)框。

在“配置(C)”欄選擇“所有配置”,在“平臺(tái)(P)”欄選擇“所有平臺(tái)”;

在“輸出目錄”輸入

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

在“中間目錄”輸入

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

第四步,在“屬性頁(yè)”對(duì)話(huà)框中選中“C/C++→常規(guī)”;在“平臺(tái)(P)”欄選擇“x64”;在“附加包含目錄”中輸入:

C:Program Files (x86)Intelopenvino_2022.3.0runtimeinclude

C:opencvbuildinclude

第五步,在“屬性頁(yè)”對(duì)話(huà)框中選中“鏈接器→常規(guī)”;在“平臺(tái)(P)”欄選擇“x64”;在“附加庫(kù)目錄”中輸入:

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

C:opencvbuildx64vc16lib

第六步,在“屬性頁(yè)”對(duì)話(huà)框中選中“鏈接器→輸入”,在“配置(C)”欄選擇“Debug”,在“平臺(tái)(P)”欄選擇“x64”,然后在“附加依賴(lài)項(xiàng)”中添加:

openvinod.lib;opencv_world470d.lib;

將“配置(C)”欄改為“Release”,然后在“附加依賴(lài)項(xiàng)”中添加:

openvino.lib;opencv_world470.lib;

到此,完成在 Visual Studio 中配置 OpenVINO C++ 推理計(jì)算項(xiàng)目屬性。

1.5 運(yùn)行 OpenVINO C++ 范例程序

測(cè)試開(kāi)發(fā)環(huán)境

首先,請(qǐng)將下面的代碼拷貝到 main.cpp 中,源代碼下載地址:

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

#include <iostream>#include <string>#include <openvino/openvino.hpp> //openvino header file#include <opencv2/opencv.hpp> ? ?//opencv header fileint 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??動(dòng)態(tài)鏈接庫(kù)所在的位置,添加到path環(huán)境變量中。

C :Program Files(x86)Intelopenvino_2022 .3.0runtimebinintel64Release

C :Program Files(x86)Intelopenvino_2022 .3.0runtimebinintel64Debug

C :Program Files(x86)Intelopenvino_2022 .3.0runtime3rdpartytbbbin

C :opencvbuildx64vc16bin

最后,編譯并運(yùn)行上述代碼,結(jié)果如下圖所示:

1.6 總結(jié)

本文詳述了從零開(kāi)始在 Windows 上基于 Visual Studio 配置開(kāi)發(fā) OpenVINO C++ 推理程序的全過(guò)程,并給出了完整的測(cè)試程序代碼 test_ov_opencv.cpp。環(huán)境配置成功后,就可以開(kāi)始用 C++ 編寫(xiě) OpenVINO? 推理程序了。

英特爾

英特爾

英特爾在云計(jì)算、數(shù)據(jù)中心、物聯(lián)網(wǎng)和電腦解決方案方面的創(chuàng)新,為我們所生活的智能互連的數(shù)字世界提供支持。

英特爾在云計(jì)算、數(shù)據(jù)中心、物聯(lián)網(wǎng)和電腦解決方案方面的創(chuàng)新,為我們所生活的智能互連的數(shù)字世界提供支持。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

英特爾致力于加快智能設(shè)備的開(kāi)發(fā)和部署,通過(guò)智能多層系統(tǒng)和端到端分析,在智能駕駛、智能零售、智能安防、智能制造等領(lǐng)域,推動(dòng)企業(yè)業(yè)務(wù)轉(zhuǎn)型,改善人們的生活和工作方式,英特爾驅(qū)動(dòng)物聯(lián)網(wǎng)變革。