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

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

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

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

文章作者:王一凡

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

下載并安裝 Visual Studio Community 版

下載并解壓 OpenVINO Runtime

下載并解壓 OpenCV

在 Visual Studio 中配置項目屬性

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

下面,本文將依次詳述。

1.1下載并安裝 Visual Studio Community 版

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

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

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

圖 1-1 ?Visual Studio 2022安裝選項

1.2 下載并解壓 OpenVINO Runtime

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

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

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

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

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

圖 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 所示。

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

1.3 下載并解壓 OpenCV

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

圖 1-4 ?端到端的 AI 推理計算流程

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

https://opencv.org/releases/

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

圖 1-5 ?下載并解壓 OpenCV

1.4 在 Visual Studio 中配置項目屬性

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

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

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

第三步,在“解決方案資源管理器”中,右鍵單擊項目名稱,在右鍵菜單中選擇“屬性(R)”,啟動“屬性頁”對話框。

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

在“輸出目錄”輸入

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

在“中間目錄”輸入

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

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

C:Program Files (x86)Intelopenvino_2022.3.0runtimeinclude

C:opencvbuildinclude

第五步,在“屬性頁”對話框中選中“鏈接器→常規(guī)”;在“平臺(P)”欄選擇“x64”;在“附加庫目錄”中輸入:

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

C:opencvbuildx64vc16lib

第六步,在“屬性頁”對話框中選中“鏈接器→輸入”,在“配置(C)”欄選擇“Debug”,在“平臺(P)”欄選擇“x64”,然后在“附加依賴項”中添加:

openvinod.lib;opencv_world470d.lib;

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

openvino.lib;opencv_world470.lib;

到此,完成在 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 <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??動態(tài)鏈接庫所在的位置,添加到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

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

1.6 總結(jié)

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

英特爾

英特爾

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

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

查看更多

相關(guān)推薦

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

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